flash as3.0三角函数基础整理(角度弧度勾股定理)
2011 年 05 月 18 日 at 下午 4:26分类目录:flash actionScript3
1 常用的三角函数如下:
正弦=对边/斜边(值得范围-1~1)
余弦=临边/斜边(值得范围-1~1)
正切=对边/临边(值得范围无穷大~无穷小)
余切=临边/对边(值得范围无穷大~无穷小)
正弦平方+余弦平方=1(其实这是古代的勾股定理 对边平方+临边平方=斜边平方)
正弦,余弦,正切,余切图解如下:
http://www.upflash.cn/blog/?p=369
2函数图像
以正余弦为例绘制角和正弦值的函数图像,得到两条上下波动的曲线。如下图:
正弦值和余弦值随着角度的变化此消彼长。当正弦是0是余弦是1.余弦是0是正弦是1.
比如:a是一不断变化的弧度角。R是半径。那么实在mc的x和y后发现。mc在一个圆周上运动。
mc.y=Math.sin(a)*R
mc.x=Math.cos(a)*R
通过这个方法我们就可以做圆和椭圆的运动。如果比例也随角度变化。可以模拟出3d的效果。
例如下面的实例实现了icon的立体圆周旋转。
http://upflash.cn/swf/menuRotation/menuRotation_do.swf
3弧度和角度的关系
值得注意的是在as3.0程序里,三角函数使用的角单位是弧度而不是角度。(弧度和角度只是角的单位。就像人民币和美元一样)
弧度是角对应的弧长除以半径的值。半径越大弧长越长。所以角确定,弧长和半径的比值(弧度)就是确定的。
古代数学家祖冲之告诉我们周长(也就是360°对应弧长)除以直径是3.14。那么除以半径就是2π。
得出结论:360°=2π弧度(注意这是角度弧度的换算比率)
4一个特殊的有用函数Math.atan2(y,x)
在as3.0函数里。Math类提供了atan2这个函数。这个函数非常有用。通过这个函数我们可以得出这个点和(0,0)连线和x轴的夹角。
比如有一个点A(Ax,Ay)那么A点和(0,0)点的连线和x轴的夹角就是atan2(y,x)。
通过这个道理我们可以推导出。如果还有一个点B(Bx,By),那么AB两个点之间连线和x轴的夹角就是
atan2(By-Ay,Bx-Ax) 注意:单位是弧度
这个函数在flash射击游戏里大量使用。
实例:求发射台和鼠标的夹角
演示:http://www.upflash.cn/yuanma3/fireBall.swf
源码:http://www.upflash.cn/yuanma3/fireBall.fla
http://www.upflash.cn/blog/?p=369
更多三角函数内容可以登录百度百科



