最新消息:

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

Scratch 少儿编程 4484浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

一、什么是光的折射?

 

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

 

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

 

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

 

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

 

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

 

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

 

光的折射有哪些特性呢?

 

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

 

2、光的折射率为:光从介质1射入介质2发生折射时,入射角Scratch编程与物理-用Scratch学习“光的折射”与折射角Scratch编程与物理-用Scratch学习“光的折射”

的正弦之比Scratch编程与物理-用Scratch学习“光的折射”叫做介质2相对介质1的折射率,即“相对折射率”,也就是说

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

 

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

△ 空气的折射率约是1。

水的折射率约是1.33。

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

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

 

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

 

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

 

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

 

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

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

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

三、程序的设计

 

1、计算入射角的大小

 

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

 

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

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

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

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

 

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

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

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

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

 

2、计算折射角。

 

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

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

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

Scratch编程与物理-用Scratch学习“光的折射”为入射角,求得折射角Scratch编程与物理-用Scratch学习“光的折射”

 

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

3、求鱼的真实位置

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

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

 

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

 

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

 

四、程序的实现

 

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

 

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

 

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

 

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

 


 

我是吉米妈妈,我深知在人工智能时代,我要让孩子做一个创造者,而不是消费者,这样才有更好的未来。我对孩子从小进行编程启蒙,并不是要求他们长大去做编程,而是对创造力、逻辑思维能力、解决问题能力的培养,这些能力会让他们终身受益。

转自公众号:
吉米编程启蒙

您必须 登录 才能发表评论!