目錄 其他材料 |
三角函數(shù)——sine(正弦),cosine(余弦)與(tangent)正切 三角函數(shù)是幾何學的一個分支,用來研究三角形中邊和角的關系。我們前面提到過,矢量可以由三角形組成,所以我們可以對矢量應用三角函數(shù)。 三角函數(shù)主要包括sine(正弦),cosine(余弦)與(tangent)正切,我們將角A作為需要計算的角度,函數(shù)關系如下圖所示: 角A的正弦值等于該角的對邊除以該角的斜邊,角A的余弦值等于該角的鄰邊除以該角的斜邊,角A的正切值等于該角的對邊除以該角的臨邊,我們可以使用下面的助記符來快速記憶這些函數(shù): 在Javascript語言中。三角函數(shù)包含在“math”對象中,所以我們這樣書寫三角函數(shù): Math.sin(angle) 所有的三角函數(shù)的返回值均為數(shù)字(標量),正弦和余弦函數(shù)的返回值的范圍為-1至1,正切函數(shù)的返回值范圍為負整數(shù)至正整數(shù)。 弧度 在Javascript中,我們使用三角函數(shù)時用弧度來表示一個角而不是用度來表示一個角,弧度僅僅是一種不同于度的角度度量單位。 具體的說,弧度就是角度在圓周上所對應的一段弧線的長度,如下圖所示: 因為圓的周長等于2*PI*radius,所以一個完整的圓周期(360度)就等于2PI弧度,因為PI的近似值3.1414926535897932384626433832因此,我們可以利用公式 1弧度=360/2*PI 得到1弧度近似等于57.30度;同樣,1度=2*PI/360=0.017弧度。 在這里需要強調(diào)一下,AE中的角度以度而非弧度來計量,所以在使用相關的表達式進行計算時就需要進行單位之間的轉(zhuǎn)換。我們可以使用上面提到過的交換率來換算單位,頻繁的進行單位轉(zhuǎn)換計算一定會泯滅我們的設計靈感,AE為我們提供了兩個非常實用的轉(zhuǎn)換函數(shù),以提高我們的設計效率與水準: radians_to_degrees(angle) 例如,下面的表達式將計算當前圖層旋轉(zhuǎn)角度的正弦值: Math.sin(degrees_to_radians(rotation)); 該表達式首先將旋轉(zhuǎn)參數(shù)單位從度轉(zhuǎn)換到弧度,然后應用到三角函數(shù)中計算出該角的正弦值。 計算未知邊長度 在一個直角三角形中,如果我們知道了一條邊的長度和一個角的度數(shù),就可以利用三角函數(shù)計算出其他邊的長度。 (如果我們只知道兩條邊的長度可以使用勾股定理 計算出另外一條邊的長度) 前面的教程我們已經(jīng)提到過,三角函數(shù)就是兩條邊的比值,所以我們可以使用公式來計算出任意一條邊的長度: opposite = hypotenuse*sin(A) 稍后,我們會將這種方法應用到實際的制作中,現(xiàn)在我們需要利用這些方程來研究一些關系特性。例如,通過第一個方程我們就可以總結(jié)出有兩種方法來增加對邊的長度:增加斜邊的長度或者增加角A的正弦值;同樣,可以通過增加斜邊的長度和角A的余弦值來增大鄰邊的長度。 經(jīng)驗和勾股定理告訴我們,直角三角形中兩條直角邊互為消長關系,一條直角邊的增加將導致另一條直角邊的減小——除非斜邊也增大。 對邊值越大,臨邊值越小 // 利用上面的公式計算出對邊與臨邊 // 我們可以忽略斜邊值 從上面的方程式中我們可以看出,角的正弦值越大,其余弦值就越小,我們將在后面的教程中討論這種函數(shù)關系。
|
所有內(nèi)容版權(quán)歸JJ Gifford.所有,翻譯權(quán)歸CG頻道所有,違者必糾。