|
sin和cos的功能可以定義出一個圓形, 例如一個圓的半徑為1, 中心點為(0,0)

t是弧長, 進行的時候是從右邊開始向順時針方向.... 那麼使用cos(t)和sin(t)就能夠得到該x和y的座標了, 還有几點要注意的
- t 的部份會一直以圓圈的方式進行延長, 所以一直使用sin和cos就會一直得到座標值
- cos和sin的值必定是在 1 和 -1 之間
- t 上的任何一點, 使用sin和cos計算所得到的距離必定是圓的半徑
- 一個圓周是 2 * Math.PI
那麼順便說說radian, 2 * Math.PI radian就是一個圓, 即360度
把角度換成radian的方法是乘上 (2 * Math.PI) / 360 或是 Math.PI/180
把radian換成角度的方法是乘上 360 / (2 * Math.PI) 或是 180/Math.PI

如上圖, 把y當成b... x當成a, 而斜線當做是c. 那麼:
sin = b/c
cos = a/c
tan = b/a
而 y/x = -y/-x 和 y/-x = -y/x, atan(y/x)都會回傳相同的值且在上圖的陰影部份...
但是要記得當x為0的時候, 不要使用atan, 因為會出現錯誤
最後說一說怎麼計算出弧度上的x和y值, 例如現在知道一個角度為 40
那麼sin和cos需要radians來做計算... 因此就把角度換成radians, 然後乘上半徑
radians = 40 * (Math.PI/180);
xPos = 半徑 * Math.cos(radians);
yPos = 半徑 * Math.sin(radians);
這樣雖然已經計算出弧度上的座標, 但我們還要定義出中心點, 例如中心點為 (100,100)
那麼 :
x = xPos + 100;
y = yPos + 100;
那麼接下來就實現這個例子吧....
步驟1 : 在場景上建立一個小圓, 轉換成元件MC, 實體名叫mc
步驟2 : 在第一幀寫上
var radians = degree = 0; //弧度和角度的初始值, MX 2004必需先定義
var xPos = yPos = 0; //初始弧度上的座標xPos和yPos
var radius = 100; //設定半徑為100
var xcenter = ycenter = 200; //中心座標為(200, 200)
onEnterFrame = function() {
radians = degree * (Math.PI/180);
xPos = radius * Math.cos(radians);
yPos = radius * Math.sin(radians);
mc._x = xcenter + xPos;
mc._y = ycenter + yPos;
degree += 5; //計算出座標之後角度增加5, 下次循環的時候計算出新的座標
}
步驟3 : 測試 & 例子 
以上的簡單介紹和例子是提供給那些新手參考, 還請各位有經驗的高手在此篇之後繼續多貼一些簡單的應用例子
因為sin, cos等的用法還不只這一點.... |
|