資訊內容
Scratch編程與物理-用Scratch學習“光的折射”
一、什么是光的折射?
光的折射是指,光從一種介質斜射入另一種介質時,傳播方向發生改變,從而使光線在不同介質的交界處發生偏折。
在生活中,我們把筷子或者筆插入水中,看到筆在水面處發生了彎折,這就是由于光的折射引起的。
如下圖所示,一束光從A點斜射入水中,在水面處發生偏折,垂直于水面畫一條法線,入射光線與法線之前的夾角就是入射角,折射光線與法線之間的夾角就是折射角。
光的折射有哪些特性呢?
1、當光線從空氣斜射入其它介質時,角的性質:折射角(折射率大的一方)小于入射角(折射率小的一方)。
2、光的折射率為:光從介質1射入介質2發生折射時,入射角與折射角
的正弦之比叫做介質2相對介質1的折射率,即“相對折射率”,也就是說
水、空氣、玻璃的折射率由小到大的排列順序是:
空氣的折射率<水的折射率<玻璃的折射率。
空氣的折射率約是1。
水的折射率約是1.33。
透明玻璃的折射率約是1.5。
3、在光的折射現象中,光路是可逆的。
二、魚在水中發生的折射現象
我們在陸地上看到水中的“魚”,如果往“魚”看到的地方刺去,可能會刺不中“魚”。但是如果往“魚”的更深處刺去,就可以刺到魚,這就是光的折射引起的。
我們要看到魚,就是魚反射的光線進入我們的眼睛。當光從水中傳入空氣中,發生了折射,我們順著折射光線看去,看到的魚其實是“魚”的像,比真實的魚的位置要淺。
現在,我們人眼看到了魚的“像”,已知人眼的位置和“魚像”的位置,我們來求得魚的真實位置,用Scratch來模擬這個過程吧。
三、程序的設計
1、計算入射角的大小
已知魚像的位置和眼睛的位置,可以確定入射角,計算入射角的大小
根據直線方程y = ax + b,已知直線上的兩點:眼睛和魚像,
求得a和b的值,即可確定這條直線。
a =?(y1-y0)/(x1-x0),求得直線的斜率。
這條直線與水面的交點,就是光線發生偏折的位置,也就可以確定法線。
上面求得的直線的斜率 a = tan(90+入射角),即可求得入射角
2、計算折射角。
根據上面介紹的相對折射率的公式,
已知n1為空氣中的折射率(n1=1),n2為水中的折射率(n2 = 1.33)
為入射角,求得折射角
。
3、求魚的真實位置
根據折射角,法線的位置,即可求得折線光線的路徑。
已經魚的x值 =?魚像的x值,帶入直線方程,即可求得魚的y值。
四、程序的實現
程序的主要邏輯代碼如下:
用Scratch模擬光的折射原理,是不是很有趣啊,趕快動手試試吧
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
