标签: flash

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

更多三角函数内容可以登录百度百科

http://baike.baidu.com/view/91555.html

用友软件连连看

2011 年 02 月 09 日 at 下午 2:47分类目录:作品精选

作品:连连看游戏
客户:用友软件