WEB开发网
开发学院图形图像Flash Flash AS入门教程第七课:影片剪辑第11节三角函数... 阅读

Flash AS入门教程第七课:影片剪辑第11节三角函数

 2009-12-12 00:00:00 来源:WEB开发网   
核心提示: 上面已经完成了三角函数的第一个应用:园周运动,园周运动公式: MC._x=园心x+半径*Math.cos(i*增量*Math.PI/180);MC._y=园心x+半径*Math.sin(i*增量*Math.PI/180);i++;你非常高兴,Flash AS入门教程第七课:影片剪辑第11节三角函

上面已经完成了三角函数的第一个应用:园周运动。

园周运动公式:

MC._x = 园心x+半径*Math.cos(i*增量*Math.PI/180); 
MC._y = 园心x+半径*Math.sin(i*增量*Math.PI/180); 
i++;

你非常高兴,因为你已经会让对象做园周运动了,你很快就想到了要做一个月亮围绕地球运转的效果。但问题出现了,月亮的运轨迹好象是椭园的。不要作急,我们来比较一下园和椭园的区别,很快我们发现椭园与园的区别就是x轴半径和y轴的半径不相等。于是乎,椭园运动公式出来了。

椭园运动公式:

MC._x = 园心x+x轴半径*Math.cos(i*增量*Math.PI/180); 
MC._y = 园心x+y轴半径*Math.sin(i*增量*Math.PI/180); 
i++; 

恭喜,你现在连椭园运动都会了。我们再来研究一下,看看三角函数还能搞点什么名堂。

上面说过,要研究三个三角函数,上面只用了两个,好象还有个flash专用的反正切函数:atan2.这个函数是根据某点的x,y值计算出该点与x轴之间的角度:

e = Math.atan2(y,x);

能不能算出两点之间的角度偏差呢?还是来看看图:

Flash AS入门教程第七课:影片剪辑第11节三角函数

在图中有两个点a和b,将两个点用一根线连起来,通过a点作y轴平行线,通过b点作x轴平行线,这样三根线就组成了一个直角三角形。有了三角形就好办了,我们的三角函数就该上场了。先来分析一下这个直三角形,不难看出,三角形的两条直角边实际就是两点的坐标差,分别是: (x1-x2)和(y1-y2).而角e就是是两点间的角度差。有了角度差,就想如果将b点旋转一个角差,那么b点的方向就与a点一样了。如果将a点换为鼠标,在鼠标移动时始终计算b点与鼠标的角差,然后让b点旋转这个角差,这样b点会一直指向鼠标跑都跑不脱。效果如下:

上一页  1 2 3 4 5 6 7  下一页

Tags:Flash AS 入门教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接