WEB开发网
开发学院图形图像Flash Flash与3D编程探秘(四)- 摄像机旋转基础知识 阅读

Flash与3D编程探秘(四)- 摄像机旋转基础知识

 2008-11-12 11:51:27 来源:WEB开发网   
核心提示: 旋转一条直线得到的三角形以原点为中心旋转小P以原点为中心旋转只是个例子,这里提到的旋转点不一定是原点,Flash与3D编程探秘(四)- 摄像机旋转基础知识(2),我们可以把任意一点作为旋转的原点,你会发现在旋转中,360度数是2*PI弧度,那么就是说360度旋转是一个整圆的话,当x线段OB

旋转一条直线得到的三角形

以原点为中心旋转小P

以原点为中心旋转只是个例子,这里提到的旋转点不一定是原点,我们可以把任意一点作为旋转的原点。你会发现在旋转中,当x线段OB旋转一定角度后,它会与旋转前的线段重合,B在旋转中所过的点的轨迹就是一个圆,那旋转的这条线段就OB就是这个圆的半径。OK,这就是我们在Flash里需要知道基本三角函数。下面两个是我们根据圆的半径得到x和y分量的公式:

object.x=Math.cos(angle)*radius;

object.y=Math.sin(angle)*radius;

Flash与3D编程探秘(四)- 摄像机旋转基础知识Flash与3D编程探秘(四)- 摄像机旋转基础知识

旋转后的直线在x和y轴的分量

当然,上面的公式在旋转点为原点的情况下成立,如果旋转点不是原点的话,我们使用:

object.x=origin.x+Math.cos(angle)*radius;

object.y=origin.y+Math.sin(angle)*radius;

弧度

当我们测量物体小P的旋转角度的时候,我们可以使用度数,这也是我们最常用的,它从0到360沿逆时针方面递增。但是我们所用的Flash,并不知道360是什么,它所知道的只是弧度(当然你可以自己写sin和cos函数,用0到360作为你的参数)。这里的弧度我们可以这样理解,360度数是2*PI弧度,那么就是说360度旋转是一个整圆的话,2*PI旋转也是同样效果。把度数转化成弧度的公式是:

randians=degrees*(Math.PI/180);PI=3.1415926535897932384626433832795...

Tags:Flash 编程 探秘

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