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;
旋转后的直线在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...
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接