光线折射公式推导:Snell‘s Law

您所在的位置:网站首页 经典条件反射公式S-R是什么意思 光线折射公式推导:Snell‘s Law

光线折射公式推导:Snell‘s Law

2024-07-05 19:16| 来源: 网络整理| 查看: 265

光线折射公式推导:Snell’s Law

Figure 1

设 入射光 i \mathbf{i} i 和 折射光 t \mathbf{t} t 均为单位向量,由Snell’s law可知 η i sin ⁡ θ i = η t sin ⁡ θ t \eta_i \sin \theta_i = \eta_t \sin \theta_t ηi​sinθi​=ηt​sinθt​ 。

其中 η i , η t \eta_i,\eta_t ηi​,ηt​ 为反射系数(typically air = 1.0, glass = 1.3–1.7, diamond = 2.4)。

因为 sin ⁡ θ i = ∣ i ∥ ∣ ∣ i ∣ ,   sin ⁡ θ t = ∣ t ∥ ∣ ∣ t ∣ \sin\theta_i=\cfrac{|\mathbf{i}_{\parallel}|}{|\mathbf{i}|},\ \sin\theta_t=\cfrac{|\mathbf{t}_{\parallel}|}{|\mathbf{t}|} sinθi​=∣i∣∣i∥​∣​, sinθt​=∣t∣∣t∥​∣​ ,故: η i ∣ i ∥ ∣ ∣ i ∣ = η t ∣ t ∥ ∣ ∣ t ∣ η i ∣ i ∥ ∣ = η t ∣ t ∥ ∣ \begin{matrix} \eta_i \cfrac{|\mathbf{i}_{\parallel}|}{|\mathbf{i}|} = \eta_t \cfrac{|\mathbf{t}_{\parallel}|}{|\mathbf{t}|} \\ \eta_i |\mathbf{i}_{\parallel}| = \eta_t |\mathbf{t}_{\parallel}| \\ \end{matrix} ηi​∣i∣∣i∥​∣​=ηt​∣t∣∣t∥​∣​ηi​∣i∥​∣=ηt​∣t∥​∣​ 又因 i \mathbf{i} i 和 t \mathbf{t} t 平行且方向相同: η i ⋅ i ∥ = η t ⋅ t ∥ t ∥ = η i η t ⋅ i ∥ = η i η t ( i + cos ⁡ θ i ⋅ n ) \begin{matrix} \eta_i \cdot \mathbf{i}_{\parallel} &=& \eta_t \cdot \mathbf{t}_{\parallel}& \\ \mathbf{t}_{\parallel} &=& \cfrac{\eta_i}{\eta_t} \cdot \mathbf{i}_{\parallel} \\ &=& \cfrac{\eta_i}{\eta_t} (\mathbf{i}+\cos \theta_i\cdot \mathbf{n} ) \end{matrix} ηi​⋅i∥​t∥​​===​ηt​⋅t∥​ηt​ηi​​⋅i∥​ηt​ηi​​(i+cosθi​⋅n)​ 其中 i ∥ = i ⋅ n ∣ i ∣ ∣ n ∣ n = cos ⁡ θ i ⋅ n \mathbf{i}_{\parallel}=\cfrac{\mathbf{i}\cdot \mathbf{n}}{|\mathbf{i}| |\mathbf{n}|}\mathbf{n}=\cos \theta_i \cdot \mathbf{n} i∥​=∣i∣∣n∣i⋅n​n=cosθi​⋅n.

又因 t = t ⊥ + t ∥ \mathbf{t}=\mathbf{t}_{\perp}+\mathbf{t}_{\parallel} t=t⊥​+t∥​ 且 ∣ t ∣ 2 = ∣ t ⊥ ∣ 2 + ∣ t ∥ ∣ 2 |\mathbf{t}|^2=|\mathbf{t}_{\perp}|^2 + |\mathbf{t}_{\parallel}|^2 ∣t∣2=∣t⊥​∣2+∣t∥​∣2 : ∣ t ⊥ ∣ 2 = ∣ t ∣ 2 − ∣ t ∥ ∣ 2 ∣ t ⊥ ∣ = 1 − ∣ t ∥ ∣ 2 t ⊥ = − 1 − ∣ t ∥ ∣ 2 ⋅ n \begin{matrix} |\mathbf{t}_{\perp}|^2 &=& |\mathbf{t}|^2-|\mathbf{t}_{\parallel}|^2 \\ |\mathbf{t}_{\perp}| &=& \sqrt {1-|\mathbf{t}_{\parallel}|^2} \\ \mathbf{t}_{\perp} &=& -\sqrt {1-|\mathbf{t}_{\parallel}|^2}\cdot \mathbf{n} \\ \end{matrix} ∣t⊥​∣2∣t⊥​∣t⊥​​===​∣t∣2−∣t∥​∣21−∣t∥​∣2 ​−1−∣t∥​∣2 ​⋅n​ 从而: t = t ∥ + t ⊥ \mathbf{t}=\mathbf{t}_{\parallel}+\mathbf{t}_{\perp} t=t∥​+t⊥​

// r_in 为射入物体的光线 vec3 refract(const vec3& r_in, const vec3& outward_normal, double etai_over_etat) { double cos_thetai = dot(-r_in, outward_normal); vec3 r_out_parallel = etai_over_etat * (r_in + cos_thetai * outward_normal); vec3 r_out_perp = -sqrt(1.0 - r_out_parallel.length_squared()) * outward_normal; return r_out_perp + r_out_parallel; }

也可进一步化简: t = t ∥ + t ⊥ = η i η t ⋅ ( i + cos ⁡ θ i ⋅ n ) − 1 − ∣ i ∥ ∣ 2 ⋅ n = η i η t ⋅ ( i + cos ⁡ θ i ⋅ n ) − 1 − sin ⁡ 2 θ t ⋅ n = η i η t ⋅ i + ( η i η t cos ⁡ θ i − 1 − sin ⁡ 2 θ t ) ⋅ n \begin{matrix} \mathbf{t} &=&\mathbf{t}_{\parallel}+\mathbf{t}_{\perp} \\ &=&\cfrac{\eta_i}{\eta_t} \cdot (\mathbf{i}+\cos \theta_i\cdot \mathbf{n}) -\sqrt {1-|\mathbf{i}_{\parallel}|^2}\cdot \mathbf{n} \\ &=&\cfrac{\eta_i}{\eta_t} \cdot (\mathbf{i}+\cos \theta_i\cdot \mathbf{n}) -\sqrt {1-\sin ^2\theta_t}\cdot \mathbf{n} \\ &=&\cfrac{\eta_i}{\eta_t} \cdot \mathbf{i}+\left (\cfrac{\eta_i}{\eta_t} \cos \theta_i -\sqrt {1-\sin ^2\theta_t} \right) \cdot \mathbf{n} \end{matrix} t​====​t∥​+t⊥​ηt​ηi​​⋅(i+cosθi​⋅n)−1−∣i∥​∣2 ​⋅nηt​ηi​​⋅(i+cosθi​⋅n)−1−sin2θt​ ​⋅nηt​ηi​​⋅i+(ηt​ηi​​cosθi​−1−sin2θt​ ​)⋅n​ 由Snell’s law公式可得 sin ⁡ θ t = η i η t ⋅ sin ⁡ θ i \sin \theta_t=\cfrac{\eta_i}{\eta_t} \cdot \sin \theta_i sinθt​=ηt​ηi​​⋅sinθi​, t = η i η t ⋅ i + ( η i η t cos ⁡ θ i − 1 − ( η i η t ) 2 sin ⁡ 2 θ i   ) ⋅ n = η i η t ⋅ i + ( η i η t cos ⁡ θ i − 1 − ( η i η t ) 2 ( 1 − cos ⁡ 2 θ i ) ) ⋅ n \begin{matrix} \mathbf{t} &=&\cfrac{\eta_i}{\eta_t} \cdot \mathbf{i}+ \left ( \cfrac{\eta_i}{\eta_t} \cos \theta_i -\sqrt {1-(\cfrac{\eta_i}{\eta_t})^2\sin^2 \theta_i}\ \right ) \cdot \mathbf{n} \\ &=&\cfrac{\eta_i}{\eta_t} \cdot \mathbf{i}+ \left (\cfrac{\eta_i}{\eta_t} \cos \theta_i -\sqrt {1-(\cfrac{\eta_i}{\eta_t})^2(1-\cos^2 \theta_i)}\right ) \cdot \mathbf{n} \\ \end{matrix} t​==​ηt​ηi​​⋅i+⎝⎛​ηt​ηi​​cosθi​−1−(ηt​ηi​​)2sin2θi​ ​ ⎠⎞​⋅nηt​ηi​​⋅i+⎝⎛​ηt​ηi​​cosθi​−1−(ηt​ηi​​)2(1−cos2θi​) ​⎠⎞​⋅n​ 其中 cos ⁡ θ i = i ⋅ n ∣ i ∣ ∣ n ∣ = i ⋅ n \cos\theta_i=\cfrac{\mathbf{i}\cdot \mathbf{n}}{|\mathbf{i}| |\mathbf{n}|}=\mathbf{i}\cdot \mathbf{n} cosθi​=∣i∣∣n∣i⋅n​=i⋅n 。

全反射现象 Total internal reflection

对于Snell’s law 的公式 sin ⁡ θ t = η i η t ⋅ sin ⁡ θ i \sin \theta_t=\cfrac{\eta_i}{\eta_t} \cdot \sin \theta_i sinθt​=ηt​ηi​​⋅sinθi​ ,当空气中的反射率大于物体内的反射率的时候,有可能会出现 η i η t ⋅ sin ⁡ θ i > 1 \cfrac{\eta_i}{\eta_t} \cdot \sin \theta_i>1 ηt​ηi​​⋅sinθi​>1 的情况。

但是 sin ⁡ θ t \sin\theta_t sinθt​ 的值一定是小于1的,故等式不可能成立。这个时候光线应该被反射,而不是折射。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3