| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
coldfusion mx+fl
AS控制声音教程 P
关于flash2004中的
使用Transition和
格式化日期类Simp
3D Assistants效果
ColdFusionMX技术
ColdFusionMX技术
探索Flash Profes
解读 VeriSign Re

淺談sin和cos           

淺談sin和cos

作者:佚名 来源:闪吧 作者: Super-Tomato 更新:2007-1-13 20:49:01 错误报告 我要投稿

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



按此在新窗口浏览图片

t是弧長, 進行的時候是從右邊開始向順時針方向.... 那麼使用cos(t)和sin(t)就能夠得到該x和y的座標了
還有几點要注意的

1. t的部份會一直以圓圈的方式進行延長, 所以一直使用sin和cos就會一直得到座標值

2. cos和sin的值必定是在 1 和 -1 之間

3. t上的任何一點, 使用sin和cos計算所得到的距離必定是圓的半徑

4. 一個circumference(中文應該是叫圓周) 是 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等的用法還不只這一點....


文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。