從這一章開始,我們將學(xué)習(xí)三角學(xué),并在第五章開始應(yīng)用到動畫技術(shù)中,其實在下一章的繪圖技術(shù)中就會接觸到。如果你已經(jīng)對三角學(xué)有所了解或渴望學(xué)習(xí)動畫方面的知識,那么可以跳過開始這部分,待日后遇到不懂的問題時,再回來學(xué)習(xí)。我們用到的90%的三角學(xué)都需要 Math.sin 和 Math.cos 這兩個函數(shù)。在我寫本書的第一版時,曾說過,除了在中學(xué)學(xué)習(xí)過的那些代數(shù)和幾何外(而且由于時間久遠大多都記不清了),我沒有接受過正規(guī)的數(shù)學(xué)培訓(xùn),最初在本章中的內(nèi)容都是來自于各種書籍,網(wǎng)站或是其它網(wǎng)絡(luò)資源,這是因為這部分知識并不難,既然我能夠?qū)W會,那么你也一定可以的。而現(xiàn)在我已經(jīng)完成了大學(xué)代數(shù)和微積分課程,對于三角學(xué)也有了更為全面和系統(tǒng)的了解。我可以很榮幸地說,這一章的內(nèi)容非常好,因為對于這個學(xué)科有了更為深入的了解,所以很多地方可以解釋得更為清楚。
什么是三角學(xué)(Trigonometry)
三角學(xué)是一門研究三角形與其邊和角關(guān)系的學(xué)科。當(dāng)我們觀察一個三角形時,發(fā)現(xiàn)它有三條邊和三個角(因此稱為三角),而且在這些邊和角之間存在著一些特殊的關(guān)系。例如,增大其中的任何一個角,那么該角所對應(yīng)的邊就會增長(假設(shè)其它兩條邊長度不變),同時,其它兩個角會變小,實際上,究竟它們變化了多少,加以計算后就可以得出一個比例。在一個三角形中,如果其中有一個角為90度,那么就稱為直角三角形,并在該角的夾角處標出一個正方形(垂足),只有在直角三角形才會這樣。學(xué)習(xí)直角三角形中存在的關(guān)系要比推導(dǎo)基本公式簡單得多,這使得直角三角形成為一種非常有用的結(jié)構(gòu),本章及該書后面的內(nèi)容大多都是直角三角形。
角(Angle)
角是三角學(xué)最主要的研究對象,讓我們先來解決這個問題。角是由兩條相交線構(gòu)成的圖形,或是兩條相交線之間的那部分空間,空間遠大,夾角越大。事實上,兩條相交的線會形成四個角,見圖 3-1:
圖3-1 兩條線形成四個角
弧度制(radian)與角度制(degress)
弧度制與角度制是角度測量中的兩種特殊制度。我們大概對于角度制最為熟悉,甚至閉著眼都能畫出45度或90度的角。圓的360度體系已經(jīng)成為了一種文化,人們常說“180度轉(zhuǎn)彎”就是指“轉(zhuǎn)到相反的方向”,這里并不是指轉(zhuǎn)彎的方向,而是指一種相反的觀點。我們所討論的角度,對于計算機來說,就是弧度。所以,不管你是否喜歡,都要對弧度制有所了解。
1弧度約等于57.2958度。你也許會問“這符合邏輯嗎?”確實有其邏輯所在。一個圓,360度,計算出的弧度為6.2832。仍然沒有任何意義?好,想一下圓周率派 Pi(π) 約等于 3.1416,而一個圓(6.2832弧度)就等于2 pi。我們知道 360 度相當(dāng)于 2 pi,180 度相當(dāng)于 pi,90 度相當(dāng)于 pi/2,等等。圖3-2 給出一些常用的弧度制。
圖3-2 弧度與角度
從現(xiàn)在起我們就要開始使用弧度制了,而且今后會遇到很多用弧度表示度的情況。
影片剪輯和 Sprite 影片的 rotation 屬性都要使用角度制,而且屬性非常會經(jīng)常使用。例如,一輛汽車需要旋轉(zhuǎn)到運動的方向,如果使用三角學(xué)計算運動方向,那么所得到的角度是以弧度制表示的,而汽車的旋轉(zhuǎn)則需要使用角度制。相反,如果要指定某個對象向某個方向前進,就要獲得它的旋轉(zhuǎn)(rotation)角度,而這是用角度制表示的,如果要在三角函數(shù)中使用它就一定要轉(zhuǎn)換為弧度制。 角度制,還應(yīng)用在濾鏡上,如果使用投影濾鏡(drop shadow filter),來為物體投射45度的陰影,就需要指定其角度而非弧度,不論是在 Flash IED 中還是使用 ActionScript 代碼都一樣。
為什么在一個編程體系里有兩種截然不同的制度呢?也許這就是Flash雙重性。一方面,這是設(shè)計人員的工具,在 Flash IDE 中擁有所有的繪圖和變形工具,可以繪制出漂亮的圖形。如果你對一名設(shè)計員說把你制作的 logo 文字旋轉(zhuǎn)一個弧度,你肯定會遭白眼。另一方面,F(xiàn)lash 也是一個開發(fā)工具,更像一種編程語言,ActionScript 用戶使用弧度制?傊徽撃闶欠裣矚g都要使用到它們,而且還需要掌握角度制與弧度制間的相互轉(zhuǎn)換。以下是公式: 弧度(radians) = 角度(degrees) * Math.PI /180 角度(degrees) = 弧度(radians) * 180 / Math.PI
在學(xué)習(xí)本書的過程中,會遇到很多公式。無論哪里,遇到需要記憶的公式時,我都會指出來,希望大家能夠識記,這里是第一個公式。每次需要用到這些公式時,可以查找一下,但不會得到現(xiàn)成的代碼,因為這些代碼都需要用手敲進去。我使用 ActionScript 寫這些公式,比如使用 Math.PI 要比使用 pi 或其它字符要好,因為這和我們輸入的代碼是一致的。
180度大約等于3.14…弧度。換句話講,半圓為 pi 個弧度,整圓為 2 pi個弧度,一個弧度大概為 57.29…度。
出處:藍色理想
責(zé)任編輯:bluehearts
上一頁 下一頁 三角學(xué)應(yīng)用 [2]
◎進入論壇RIA設(shè)計與應(yīng)用版塊參加討論
|