光の進み方シミュレーション

光をカメで考えて、反射、屈折、全反射をシミュレーションしてみよう。   光の進み方.mwx
 を左クリックすると
レーザーが出ます。

かがみで反射して、

すいそうで屈折、水面で全反射します。

※色を変えて速さを変えると、屈折率が変わることがわかります。
 
<考え方>
光の粒子としての性質と波としての性質をカメ(kame1,kame2)で考えます。
・粒子の進む速さは、すいそうで遅くなる。→kame1,kame2の進む速さを背景の色にして、すいそうの色のときは遅くする。
・粒子は、反射する。→kame1,kame2の進む方向をかがみで反転する。
・波とは、粒子と粒子とが影響しあって距離を保つことによる性質だと考える。→kame1とkame2が同じ距離で平行に進む。

<シミュレーションでわかること>
1.かがみに当たる光はは、入射角と同じ大きさの反射角で反射する。
2.すいそうに入る光は屈折する。
3.すいそうから大きな入射で水面から出ようとする光は全反射する。
4.進む速さ(背景の色)が違う物質では、屈折率が変わる。


<プログラミング>光の進み方のもと.mwxを左クリックしてはじめましょう。
 

手順を記述します。

英語 日本語
to laser
initialize
forever[beam]
end
to beam
kame1, towards "kame2 right 90 forward colorunder / pv
kame2, towards "kame1 left 90 forward colorunder / pv
end
to initialize
carefully[turtlesown "pv][]
kame1, setpos[-330 150] setpv 10
kame2, setpos[-328 150] setpv 10
end
to mirror
setpv pv * -1
end
to desk
stopall
end
手順は laser
initialize
無限に「beam」
終わり
手順は beam
kame1, 方向 "kame2 右へ 90 前へ 下の色 / pv
kame2, 方向 "kame1 左へ 90 前へ 下の色 / pv
終わり
手順は initialize
注意してやる 「カメの中の名前は "pv」「」
kame1, 位置は 「-330 150」 pvは 10
kame2, 位置は 「-328 150」 pvは 10
終わり
手順は mirror
pvは pv * -1
終わり
手順は desk
みんなとまる
終わり