佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1594|回复: 2

[教程]简单使用sin & cos

[复制链接]
发表于 25-12-2004 02:29 AM | 显示全部楼层 |阅读模式
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等的用法還不只這一點....
回复

使用道具 举报


ADVERTISEMENT

发表于 25-12-2004 11:13 AM | 显示全部楼层
你的连接如果没注册闪吧就不能下载了~
回复

使用道具 举报

 楼主| 发表于 25-12-2004 12:32 PM | 显示全部楼层
抱歉,再次补上 http://xenz.flash8.net/tutorial/sin&cos.rar

[ Last edited by super-tomato on 25-12-2004 at 06:00 PM ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 14-5-2024 04:28 PM , Processed in 0.052973 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表