AS3 中的弧度和角度

1.角的两种单位

     “弧度”和“度”是度量角的大小的两种不同单位。就像“米”和“市尺”是度量长度大小的两种不同单位一样。
     在Flash中规定:在旋转角度(rotation)里的角,以“度”为单位;而在三角函数里的角要以“弧度”为单位。例如:
          rotation2: 是旋转2度;
          sin(π/2):  是大小为"π/2弧度"的角的正弦
 
2.弧度的定义:
  •  "度"的定义是:  两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧.当这段弧长正好等于圆周长的360分之一的时候,两条射线的夹角为1度
  •  "弧度"的定义:   两条射线从圆心想圆周射出,形成一个夹角和夹角正对的一段弧.当这段弧长正好等于园的半径时,两条射线的夹角大小为1弧度.
          
比较一下,度和弧度的两个定义非常相似.它们的区别,仅在于角所对的弧长大小不同.度的是等于圆周长的360分之一,而弧度的是等于半径.

角所对应的弧长是半径的几倍,那么角的大小就是几弧度。它们的关系可用下式表示和计算:

角(弧度) = 弧长/半径
 
园的周长是半径的2π倍,所以一个周角(360度)就是2π弧度
半圆的长度是半径的π倍,所以一个平角(180度)是π弧度。
 
3.度与弧度之间的转换:
首先由上所指,一个平角是π弧度,即180度 = π弧度
那么: 1度 = (π/180) 弧度(约等于0.017453弧度)
因此: 弧度 = 度×π/180;
 
处理弧度角度和三角函数的Function
function angleToRadian(angle:Number):Number{
     return angle*(Math.PI/180);
}

function radianToAngle(radian:Number):Number{
     return radian*(180/Math.PI);
}
function sinD(angle:Number):Number{
     return Math.sin(angleToRadian(angle));
}
function cosD(angle:Number):Number{
     return Math.cos(angleToRadian(angle));
}
function atan2D(y:Number,x:Number):Number{
     return radianToAngle(Math.atan2(y,x))
}

 


 

 

posted @ 2012-07-08 21:14  夹星蛋糕  阅读(1020)  评论(0编辑  收藏  举报