Scratch编程与物理-用Scratch学习“光的折射”

网友投稿 2019-11-28 11:57

一、什么是光的折射?

光的折射是指,光从一种介质斜射入另一种介质时,传播方向发生改变,从而使光线在不同介质的交界处发生偏折。

https://cdn.china-scratch.com/timg/191130/115G063B-0.jpg

https://cdn.china-scratch.com/timg/191130/115G05441-1.jpg

在生活中,我们把筷子或者笔插入水中,看到笔在水面处发生了弯折,这就是由于光的折射引起的。

如下图所示,一束光从A点斜射入水中,在水面处发生偏折,垂直于水面画一条法线,入射光线与法线之前的夹角就是入射角,折射光线与法线之间的夹角就是折射角。

https://cdn.china-scratch.com/timg/191130/115G01N1-2.jpg

光的折射有哪些特性呢?

1、当光线从空气斜射入其它介质时,角的性质:折射角(折射率大的一方)小于入射角(折射率小的一方)。

2、光的折射率为:光从介质1射入介质2发生折射时,入射角https://cdn.china-scratch.com/timg/191130/115G03142-3.jpg与折射角https://cdn.china-scratch.com/timg/191130/115G03Z7-4.jpg

的正弦之比https://cdn.china-scratch.com/timg/191130/115G06107-5.jpg叫做介质2相对介质1的折射率,即“相对折射率”,也就是说

https://cdn.china-scratch.com/timg/191130/115G14F2-6.jpg

水、空气、玻璃的折射率由小到大的排列顺序是:
空气的折射率<水的折射率<玻璃的折射率。

空气的折射率约是1。

水的折射率约是1.33。

透明玻璃的折射率约是1.5。

3、在光的折射现象中,光路是可逆的。

二、鱼在水中发生的折射现象

我们在陆地上看到水中的“鱼”,如果往“鱼”看到的地方刺去,可能会刺不中“鱼”。但是如果往“鱼”的更深处刺去,就可以刺到鱼,这就是光的折射引起的。

我们要看到鱼,就是鱼反射的光线进入我们的眼睛。当光从水中传入空气中,发生了折射,我们顺着折射光线看去,看到的鱼其实是“鱼”的像,比真实的鱼的位置要浅。

https://cdn.china-scratch.com/timg/191130/115G12141-7.jpg

现在,我们人眼看到了鱼的“像”,已知人眼的位置和“鱼像”的位置,我们来求得鱼的真实位置,用Scratch来模拟这个过程吧。

https://cdn.china-scratch.com/timg/191130/115G12918-8.gif

三、程序的设计

1、计算入射角的大小

已知鱼像的位置和眼睛的位置,可以确定入射角,计算入射角的大小

https://cdn.china-scratch.com/timg/191130/115G1B02-9.jpg

根据直线方程y = ax + b,已知直线上的两点:眼睛和鱼像,

求得a和b的值,即可确定这条直线。

a = (y1-y0)/(x1-x0),求得直线的斜率。

https://cdn.china-scratch.com/timg/191130/115G112I-10.jpg

这条直线与水面的交点,就是光线发生偏折的位置,也就可以确定法线。

上面求得的直线的斜率 a = tan(90+入射角),即可求得入射角

https://cdn.china-scratch.com/timg/191130/115G1K93-11.jpg

2、计算折射角。

根据上面介绍的相对折射率的公式,

https://cdn.china-scratch.com/timg/191130/115G14F2-6.jpg

已知n1为空气中的折射率(n1=1),n2为水中的折射率(n2 = 1.33)

https://cdn.china-scratch.com/timg/191130/115G24359-13.jpg为入射角,求得折射角https://cdn.china-scratch.com/timg/191130/115G224F-14.jpg

https://cdn.china-scratch.com/timg/191130/115G2Ib-15.jpg

3、求鱼的真实位置

根据折射角,法线的位置,即可求得折线光线的路径。

已经鱼的x值 = 鱼像的x值,带入直线方程,即可求得鱼的y值。

https://cdn.china-scratch.com/timg/191130/115G2G48-16.jpg

https://cdn.china-scratch.com/timg/191130/115G2MG-17.jpg

四、程序的实现

程序的主要逻辑代码如下:

https://cdn.china-scratch.com/timg/191130/115G235a-18.jpg

https://cdn.china-scratch.com/timg/191130/115G31B0-19.jpg

用Scratch模拟光的折射原理,是不是很有趣啊,赶快动手试试吧

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com