折射光线方向公式推导


  先给出结论:折射方向公式:
t={η_1\over η_2}i+({η_1\over η_2}cos\theta_i-\sqrt{1-sin^2\theta_t})n  要注意的是,这个向量不是单位向量,使用前请自行单位化。

  下面开始证明,根据 Snell 法则:
{sin\theta_1 \over sin\theta_2}={η_2\over η_1}  下面设定一些常用变量,默认都已经单位化:

   –   i:入射光线方向
   –   t:折射光线方向
   –   n:法线方向
   –   n_{\bot}:法线垂直方向


  首先 it 可以表示为
i=-cos\theta_1n+sin\theta_1n_\bot\\ t=-cos\theta_2n+sin\theta_2n_\bot  由于我们不知道 n_\bot,可以使用以下方程获得等式:
n_\bot=csc\theta_1i+cot\theta_1n\\ n_\bot=csc\theta_2t+cos\theta_2n  所以,有:
csc\theta_1i+cot\theta_1n=csc\theta_2t+cot\theta_2n  可以解得 t
t={sin\theta_2\over sin\theta_1}i+cos\theta_1{sin\theta_2\over sin\theta_1}n-cos\theta_2n  可以用 Snell 法则来代替正弦,用正弦来代替余弦,也就得到了最终公式:
t={η_1\over η_2}i+(cos\theta_1{η_1\over η_2}-\sqrt{1-sin^2\theta_2})n


参考:What does the equation of a refracted ray trace mean?

Tags :

About the Author

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注