欢迎光临散文网 会员登陆 & 注册

S7G1 模擬光的折射

2020-09-16 12:18 作者:学用数学  | 我要投稿

這次主要模擬光的折射,探究光線在經過不同介質的偏離角度。主要使用滑動秆來調整介質參數,並通過參數計算出折射後的位置。

探究折射角與折射率的關係

任務一:製作入射角

說明:建一個單位圓,將原點設定為光線的入射點,讓 A 點在圓上運動來控制入射角的角度。

建立入射角

步驟:

#  建立單位圓 O

O = (0,0)

cO = Circle(O,1)       # Circle 圆周

# 建圓上動點

A = Point(cO)                 # Point 描点

# 標出 A 到法線 (y=0) 的垂線

C = ClosestPoint(A, y=0) #ClosetPoint 最近点

sAC = Segment(A,C)        # Segmengt 线段

# 標示角

aCOA = angle(C,O,A)      # angle 角

# 調整顯示區域、上顏色 

x = 0  

y = 0


任務二:折射角的設置

說明:主要利用 n1 sin(θ1) = n2 sin(θ2) 來取得折射後的路徑。因為設置為單位圓, sin(θ1) 就以 AC 來顯示,sin(θ2)  就以 BD 來顯示。

建立折射角

操作步驟

#  建立控制折射率的滑動條

n1 = Slider(1,3,0.01,1,100)   #Slider 滑动条

n2 = Slider(1,3,0.01,1,100) 

# 先取得折射後 B 的 x 座標

xB = sAC*n1/n2 

B = intersect(cO, x=xB)    # Intersect 交点

D = (0, y(B))

vOB = vector(O,B)          # Vector 向量

sBD = Segment(B,D)     #Segment 線段

aDOB = angle(D,O,B)    #angle 角度


任務三:顯示文本訊息

說明:增加文本來顯示 n1*sin(θ1) 為定值的關係,並加入臨界角度的計算。同時對於臨界角度的文本設置為 n1 > n2 時才會顯現。


操作步驟

 # 插入顯示 n1*AC= n2*AD 的文本

n1 \cdot AC  = [n1] \times [sAC]   =  [n1*sAC]  \\ 

n2 \cdot BD = [n2]  \times [sBD]  =  [n2*sAD] \\

# 插入顯示臨界角的文本

當 n1 \geq n2 時,入射角太大會發生全反射\\

即當  AC\cdot \frac{n1}{n2} \geq 1 \Rightarrow AC \geq \frac{n2}{n1} \\ 

\Rightarrow \angle AOC \geq \arcsin(\frac{n2}{n1})  =  [arcsin(n2/n1)/pi*180]  ^\circ  

顯示臨界角的文本

# 並且對這文本加入一個顯示條件,當 n1>n2 時才出現這文本

通過顯示條件來控制臨界角文本的出現

小結回顧

以 Geogebra 操作而言,算是中階 Lv3 難度。但用 Geogebra 不一定要用到很酷炫的技巧,重要的是通過問題拆解並利用數學語言,就可展現出一些教學上值得探究的課題。很多物理現象的底層都是用數學來刻畫,若你還有發覺哪些物理問題值得作為課件也歡迎提供來交流。

https://www.geogebra.org/m/hngufbhk

相關連結

【GGB】https://www.geogebra.org/m/hngufbhk

【Bili】https://www.bilibili.com/video/BV1K54y1m7F1/

【公众号文】https://mp.weixin.qq.com/s/Ay-KDsVDamvJCQofJRVMDA

【YouTube】https://www.YouTube.com/playlist?list=PLXH05kw-i_5L5wZPZHDwpMstzBxAy6I7G


S7G1 模擬光的折射的评论 (共 条)

分享到微博请遵守国家法律