第十二章反射.doc
文本预览下载声明
PAGE 1
PAGE 102
第十二章 反射
本章如同第十一章,我們再舉一例來說明Script的設計。第12.1節將介紹產生折射script 的背景。第12.2節將介紹如何產生反射script。第12.3節將介紹如何使用反射script。
第12.1節 產生反射script的背景
設有一區域被x軸、y軸與曲線y = 1/x所圍,如圖12.1所示。設有一粒子自原點A,往C點射去。粒子碰到邊界就會反射出去,即入射角等於反射角。又假設原點A為一圓,粒子碰到原點A,就會照原路反射回去。
圖12.1
如圖12.1所示,粒子自原點A往C點射去,先碰到F點,接著碰到點H、L、N、R、T、X與Z。
如果∠CAB = 30o,則上圖中的線段FH 會垂直於x軸。那麼,粒子碰到x軸於H點之後,就會反彈折回A點。即粒子會在點A、F與H這3點來回移動。
我們的問題是:
粒子初始角度為多少時,粒子射出去之後又會折回原點? 又會有多少種這類角度?
能否證明,粒子射出去的角度小於30o,射出去之後其最遠可達處為有界限? 是否一定會折回(不必照原路線) ?
由於圖形對稱於直線y = x,我們討論粒子初始角≦45o 即可。我們很容易得到初始角為45o 與30o,粒子射出去之後又會折回原點。但是對於其他初始角,因計算太繁,就不容易求得。因此,我們想利用Script 來自動畫出折射點,如圖12.1所示。其好處是:我們可以輸入折射的次數,同時移動C點就可以改變初始角來觀察其結果。
我們至少觀察到,如果初始角約等於22o 、18o 與16o,粒子會折回原點。同時,當粒子射出去的角度小於30o,射出去之後其最遠可達處應為有界。
第12.2節 產生反射script
接下來,我們試著來產生一反射script,可以用來產生如圖12.1的圖形。其步驟如下:
步驟1:選File/New Sketch 產生一新畫圖的畫面。選File/ New Script產生一新 script 畫面。挑Graph/Create Axes顯示座標軸。於畫面上畫上一自由點C。於script 畫面按下REC,如圖12.2。
圖12.2
步驟2:點選A與C兩點,連上一射線,當我們產生一物件時,即為一射線j,於Steps區顯示出:
1. Let[j]=Ray between Point A and Point C.
其Parents為點A與C兩點,於Given區就會顯示出:
Point A
Point C
Sketchpad 會自動偵測基本需要的物件加在Given區,這也視產生物件的Parents(Grand…Parents)是否已出現在Given區。產生射線j的Parents點A與點C原本未出現在Given區,既然要產生射線j,當然,點A與點C必須出現在Given區,如圖11.3所示。
接下來我們想要畫上函數 y = 1/x 的函數圖形。此步驟如果不含在script中,那麼,使用此script之前,必須自己畫上此圖。
圖11.3
步驟3:先點選x軸,再選Construct/Point On Object產生一點D。此步驟我們於畫面產生了一點D,同時,於Given: 區顯示出:
Point A
Point C
Straight Object x
接下來Steps: 區含
Let[j]=Ray between Point A and Point C.
Let[D]=Random point on Staight Object x.
產生D點的Parent,即x軸,會出現在Given區,如圖11.4所示。
圖11.4
步驟4:點選D點,並選Measure/Coordinate。產生文字方塊
D:(0.68, 0.00),其標題為m1。
於Steps區也會增加
3.Let[m1]=Coordinate of Point[D].
由D點的x座標,來產生E點,使得E點為曲線 y = 1/x上的一點,同時E點的x座標等於D點的x座標。
點選E點為Trace Point,並且畫出E點的軌跡,如圖12.5所示。
圖12.5
步驟5:此步驟將利用A點的座標與射線j的斜率來產生射線j與曲線y = 1/x的交點F。因曲線y = 1/x是一衍生物,既不是直線,也不是圓,系統無法計算此二物件的交點。既然我們無法利用 Construct/Point At Intersection來求得交點,只好自己來計算。
直線j的方程式為 y ? 0 = m j (x ?xA) 與曲線y = 1/x交點的x座標為0.5*( xA +( xA ^2+4/ m j)^0.5)。
點選A: (0.00, 0.00)與Slope j = 0.36 並啟動計算器來計算
0.5*( xA +( xA2+4/ m j) 0.5)與其倒數
由交點
显示全部