第二十一课:影片剪辑Part11 三角函数
Math类为我们提供了很多数学计算函数,今天我们来了解一下三角函数。
一、Flash中的三角函数: 三角函数的知识差不多复习这么多就行了,是不是很简单呢?
最近访问本帖者列表:访问时间:2018-09-30 13:15 | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
二、圆周运动: 做圆周运动时直角三角形的斜边长度d不变。其实我们早已看出来了,斜边实际就上圆周的半径。将角e不断增大,从而产生不同的x、y值,将这些值赋给点a对象,就形成了圆周运动了。 本帖隐藏的内容需要回复才可以浏览 上面已经完成了三角函数的第一个应用:圆周运动。 圆周运动公式: 你非常高兴,因为你已经会让对象做圆周运动了,你很快就想到了要做一个月亮围绕地球运转的效果。但问题出现了,月亮的运轨迹好象是椭圆的。不要作急,我们来比较一下圆和椭圆的区别,很快我们发现椭圆与圆的区别就是x轴半径和y轴的半径不相等。于是乎,椭圆运动公式出来了。 椭圆运动公式: 恭喜,你现在连椭圆运动都会了。我们再来研究一下,看看三角函数还能搞点什么名堂。 | |
上面说过,要研究三个三角函数,上面只用了两个,好象还有个flash专用的反正切函数atan2 能不能算出两点之间的角度偏差呢?还是来看看图: 在图中有两个点a和b,将两个点用一根线连起来,通过a点作y轴平行线,通过b点作x轴平行线,这样三根线就组成了一个直角三角形。有了三角形就好办了,我们的三角函数就该上场了。先来分析一下这个直三角形,不难看出,三角形的两条直角边实际就是两点的坐标差,分别是:(x1-x2)和(y1-y2).而角 e就是是两点间的角度差。有了角度差,就想如果将b点旋转一个角差,那么b点的方向就与a点一样了。如果将a点换为鼠标,在鼠标移动时始终计算b点与鼠标的角差,然后让b点旋转这个角差,这样b点会一直指向鼠标跑都跑不脱。 本帖隐藏的内容需要回复才可以浏览 跟随鼠标旋转公式: 本帖隐藏的内容需要回复才可以浏览 这里要注意两点: 将b点的x,y不停地加上这个vx,vy,b点就不停地向a点靠近了。 本帖隐藏的内容需要回复才可以浏览 鼠标跟随公式: 本帖隐藏的内容需要回复才可以浏览 | |
将本节介绍的内容与上节介绍的绘图方法结合,可以绘制出很多图形,如圆;椭圆;正,余弦波形等。这个留给大家研究。下面做一个经典的练习,图片旋转,制作方法来源于网络: 我选了6张作品,导入到库中。然后,新建一个MC,共6个关键帧,每个关键帧,放一张图片,大小统一调为150x200.然后在库中右击MC>“连接”,点中“为ActionSpript运行时导出“前的钩,在标识符一栏内输入:imge. 回到主场景,打开帧动作面板,输入: 首先通过一个for循环,将图片元件加载6次,每一次加载后,让它停在不同的帧上,这样舞台上实际上就有6张不同的图片了,这是一个非常有趣的方法,值得学习。同时为每张图片设置了一个不同的初始量Cita,共6张图片,一个圆周是360度除以6等于60,这样6张图片被设为i*60,即均匀分布。最后将图片的y坐标固定在200,因为图的旋转实际就是图片从左到右往返运动而已,y坐标是不变的。 接下来设置图片的透明度,来理解一下这句: 那么100*Math.sin(cita /180*Math.PI)10到-100来回变化,100+100*Math.sin(cita/180*Math.PI))就是200到0之间的变化了,(100+100*Math.sin(cita/180*Math.PI))/4就是50到0之间变化了,50+ (100+100*Math.sin(cita/180*Math.PI))/4;就是50到100之间变化了。 这一句的作用就是使透明度在正面时为 100,转到背面时为50. | |