菲涅耳方程式:折射穿透光强方程式的详解
创作时间:
作者:
@小白创作中心
菲涅耳方程式:折射穿透光强方程式的详解
引用
1
来源
1.
https://ithelp.ithome.com.tw/articles/10362603
今天,让我们跟随助教和ChatGPT一起了解一下菲涅耳光强方程式!(今天来轻松一下!)
菲涅耳方程式(Fresnel Equations)是用来描述当光线从一个介质传播到另一个介质时,在两个介质交界面上发生的反射和折射现象。这些方程式主要用来计算反射和折射光的振幅及强度,并取决于入射光的偏振方向。这些现象遵循斯涅耳定律(Snell's Law),同时也受Fresnel方程式的描述。
Fresnel方程式分为两种情况:
- 垂直偏振(S-偏振):电场振动方向垂直于入射面(即光线的入射平面)。在这种情况下,反射光和折射光的振幅与入射角和折射角有关,并由以下方程式给出:
- 平行偏振(P-偏振):电场振动方向平行于入射面。在这种情况下,反射和折射的振幅则由以下方程式描述:
其中,n1和n2分别是两个介质的折射率,θi是入射角,θt是折射角。
以下是将公式写成程序:
import numpy as np
import matplotlib.pyplot as plt
from numpy import sin, pi, cos, arcsin
# 因为后面会一直用不想重複寫np.故這邊先一次import
# 定义介质折射率
n1 = 1
n2 = 1.5
# 定义入射角,从0到pi/2之间切成200个等距点
theta_incident = np.linspace(0, pi/2, 200)
# 定义折射角,依照snell定律利用反正弦得出角度
theta_transmit = arcsin((n1/n2)*sin(theta_incident))
# 垂直偏振光的反射系数
r_TE = (n1*cos(theta_incident)-n2*cos(theta_transmit))/(n1*cos(theta_incident)+n2*cos(theta_transmit)) # 穿透系数垂直偏振
# 平行偏振光的反射系数
r_TM = (n2*cos(theta_incident)-n1*cos(theta_transmit))/(n2*cos(theta_incident)+n1*cos(theta_transmit)) # 反射系数垂直偏振
# 垂直偏振光的折射系数
t_TE = 2*n1*cos(theta_incident)/(n1*cos(theta_incident)+n2*cos(theta_transmit)) # 垂直偏振
# 平行偏振光的折射系数
t_TM = 2*n1*cos(theta_incident)/(n2*cos(theta_incident)+n1*cos(theta_transmit)) # 垂直偏振
# 绘制图表,乘以180/pi是将入射角从弧度转换为度数,alpha调整颜色透明度,--为虚线
plt.plot(theta_incident*180/pi, r_TE, 'b', label = 'r_TE')
plt.plot(theta_incident*180/pi, r_TM, 'r', label = 'r_TM')
plt.plot(theta_incident*180/pi, t_TE, 'b--', label = 't_TE', alpha = 0.5)
plt.plot(theta_incident*180/pi, t_TM, 'r--', label = 't_TM', alpha = 0.5)
# 在 y=0 的位置画了一条水平线
plt.axhline (y=0,color='r', linestyle=' ', linewidth=1)
plt.xlabel('incident degree')
plt.legend()
plt.show()
画出来的图表如下:
这个公式其实是与菲涅耳定律相关的光学现象中的能量守恒表达式。光波从一种介质入射到另一种介质时,反射率R和透射率T的和为1。公式中的E0i E0r和E0i E0t是反射和透射波的电场幅值相对于入射波电场幅值的比值。这些比值的平方分别表示反射率和透射率。
程序代码如下:
import numpy as np
import matplotlib.pyplot as plt
from numpy import sin, pi, cos, arcsin
# 因为后面会一直用不想重複寫np.故這邊先一次import
# 入射系数
n1 = 1
# 出射系数
n2 = 1.5
# 定义入射角,从0到pi/2之间切成200个等距点
theta_incident = np.linspace(0, pi/2, 200)
# 定义折射角,依照snell定律利用反正弦得出角度
theta_transmit = arcsin((n1/n2)*sin(theta_incident))
# 垂直偏振光的反射系数
r_TE = (n1*cos(theta_incident)-n2*cos(theta_transmit))/(n1*cos(theta_incident)+n2*cos(theta_transmit))
# 垂直偏振光的折射系数
t_TE = 2*n1*cos(theta_incident)/(n1*cos(theta_incident)+n2*cos(theta_transmit))
# 反射率
R = (r_TE)**2
# 透射率
T = ((n2*cos(theta_transmit))/(n1*cos(theta_incident)))*t_TE**2
# 制图
plt.plot(theta_incident*180/pi, R, 'cadetblue', label = 'Reflection')
plt.plot(theta_incident*180/pi, T, 'salmon', label = 'Transmission')
plt.xlim(0,90)
plt.ylim(0,1)
plt.legend()
plt.show()
画出的图如下:
可以看到反射和折射和为1以及两者的关係~代表著能量守恒!
热门推荐
Windows UWP应用平移设计指南
卡诺KANO模型是什么?一文读懂
燕窝果种植指南:从种苗选择到采收贮藏的全程解析
劳动法对抑郁症的规定是什么
职业经理人如何提升管理能力? 优秀经理人需要具备哪些素质?
静脉曲张可以挂什么科?一文详解各科室诊疗特点
三大因素引全球市场动荡,金融地震致阿根廷资产暴跌!
如何在质量管理中实施持续改进
健康科普 | 肝胆胰脾外科专家教你正确认识胆囊息肉
如何解决IPv6无网络访问权限问题的实用指南与步骤解析
揭秘商代束腰玉勒子:三大珍贵特点及市场价值分析
RGB与YCbCr色度空间详解
MATLAB图像色彩插值:平滑图像色彩过渡,消除锯齿,呈现细腻画面
维生素C压片糖果的作用
笔记本电源适配器坏了怎么办?15个实用维修步骤详解
冠状动脉瘘的诊断与治疗:从病因到临床实践
吃芥末,潜在的脑健康优等生,但是很难买到真的
宝宝奶瓶清洗全攻略:避开有害成分,选购安全清洁剂!
24年后《雍正王朝》演员现状:3位老戏骨离世,1人入邪教自毁前程
人脸对齐:仿射变换与投影变换在图像合成中的应用
时间旅行的可能性,物理学是否支持这一理论?
黄鼬(黄鼠狼)与白鼬的区别:全面了解这两种小型掠食性动物
半导体薄膜设备告急,中微公司30亿入局!
公司简易注销与负债注销全攻略:所需资料与流程详解
如何解读纸黄金价格分析的结果?这些结果对投资决策有怎样的指导意义?
镀锌钢管套管焊接规范及焊接长度详解
半夜清醒是什么原因造成的
车内隔音材料选择有哪些?这些材料对驾驶静谧性和舒适性有何改善?
中职学校3大优势,助力中职生扭转局面!
制动踏板的材质对性能有影响吗