余弦(Cosine)
在 Flash 中,使用 Math.cos(angle) 就可以計(jì)算余弦值,余弦的定義為角的鄰邊與斜邊之比。見圖 3-10。
圖3-10 角的余弦值為鄰邊/斜邊
圖3-10中的角度與圖3-9中的相同,這次在圖中直接加入了鄰邊的長度 1.73。角的余弦值為 1.73/2,或 0.865。因此,我們可以說-30度角的余弦值為 0.865,下面測試一下: trace(Math.cos(-30 * Math.PI / 180));
與使用正弦函數(shù)一樣,只不過這次調(diào)用的是 Math.cos 函數(shù),這次輸出結(jié)果為 0.866025403784439,非常接近 0.865。之所以會(huì)有所不同,是因?yàn)槲野燕忂叺闹等≌恕U嬲拈L度應(yīng)該近似于1.73205080756888,用這個(gè)數(shù)除以2,那么結(jié)果就非常接近-30度的余弦值。到現(xiàn)在為止,我們所說的都是左下方的角(degrees)。下面來看看右上方的角,首先,需要重新在坐標(biāo)系中定位該角,這里的坐標(biāo)系是指 Flash 坐標(biāo)系,見圖3-11。
圖3-11 觀查對角(opposite angle)(圖丟失)
該角的正弦值為對邊與斜邊之比,或1.73/2(0.865),余弦值為鄰邊與斜邊之比,1/2(0.5)。因此就得出,一個(gè)角的余弦值等于另一個(gè)角的正弦值,請注意它們之間是相互關(guān)聯(lián),成比的。
正切(Tangent)
另一個(gè)重要的三角函數(shù)是正切,用 Flash 表示為 Math.tan(angle)。它反應(yīng)的是對邊與鄰邊之間的關(guān)系如圖3-12所示。
圖3-12 角的正切值為對邊/鄰邊
兩者的比例為 -1/1.73 或 -0.578,直接在 Flash 中進(jìn)行驗(yàn)證,會(huì)得到更準(zhǔn)確的結(jié)果:
trace(Math.tan(-30 * Math.PI / 180));
輸出結(jié)果為 –0.577350269189626,證實(shí)了前面的計(jì)算。在 ActionScript 中,這個(gè)函數(shù)并不常用,而使用正弦和余弦的時(shí)候要多一些。另外,反正切函數(shù)卻是非常有用的,后面會(huì)講到,這里請大家記住正切函數(shù)的比例關(guān)系。
反正弦(Arcsine)和反余弦(Arccosine)
與正切相似,反正弦和反余弦在一般的 Flash 動(dòng)畫中很少使用。然而,我們還是要學(xué)習(xí)一下它們的用法,實(shí)際上就是正弦和余弦函數(shù)的反函數(shù)。換句話講,就是輸入一個(gè)比例值,返回一個(gè)角度值(以弧度表示)。
在 ActionScript 函數(shù)中記作 Math.asin(ratio) 和 Math.acos(ratio)。下面讓來測試一下,我們已經(jīng)知道30度角的正弦值為0.5,所以0.5的反正弦值應(yīng)為30度,檢驗(yàn)一下: trace(Math.asin(0.5) * 180 / Math.PI); 別忘記將結(jié)果轉(zhuǎn)換為角度制,才能得到角度制30度,而不是弧度制0.523。 我們知道,30度角的余弦值大約為 0.865,下面以同樣的方法來測試一下:
trace(Math.acos(0.865) * 180 / Math.PI);
得到結(jié)果為 30.1172947473221。如果把30度的余弦值輸入得更準(zhǔn)確,那么所得的結(jié)果也會(huì)更為精確。怎么樣,不難吧?
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 三角學(xué)應(yīng)用 [3] 下一頁 三角學(xué)應(yīng)用 [5]
◎進(jìn)入論壇RIA設(shè)計(jì)與應(yīng)用版塊參加討論
|