常用的一些数学三角函数

基本三角函数的计算:
角的正弦值 = 对边 / 斜边
角的余弦值 = 邻边 / 斜边
角的正切值 = 对边 / 邻边
角度制与弧度制的相互转换:
弧度 = 角度 * Math.PI / 180
角度 = 弧度 * 180 / Math.PI

补充:

(这边解释下弧度和角度之间的区别很多人会问这样的问题,1弧度等于57.2958度。一个圆360度计算出等于6.2832弧度,PI(圆周率)=3.1416,6.2832等于2 PI)

­ 向鼠标旋转(或向某点旋转): 

AS3代码
  1. dx = mouseX - sprite.x; dy = mouseY - sprite.y;    
  2. sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI; ­    

 创建波形:

AS3代码
  1. public function onEnterFrame(event:Event){   
  2.  value = center + Math.sin(angle) * range; angle += speed;    
  3. }   

­ 创建圆形:

AS3代码
  1. public function onEnterFrame(event:Event){    
  2. xposition = centerX + Math.cos(angle) * radius;    
  3. yposition = centerY + Math.sin(angle) * radius; angle += speed;    
  4. } ­   

创建椭圆: 

AS3代码
  1. public function onEnterFrame(event:Event){    
  2. xposition = centerX + Math.cos(angle) * radiusX; yposition = centerY + Math.sin(angle) * radiusY;    
  3. angle += speed;    
  4. } ­  

计算两点间距离:

AS3代码
  1. dx = x2 – x1; dy = y2 – y1; dist = Math.sqrt(dx*dx + dy*dy); ­ ­   

向已知坐标移动:

AS3代码
  1. var dx=p2_mc.x-p1_mc.x;    
  2. var dy=p2_mc.y-p1_mc.y;   
  3. var angle=Math.atan2(dy,dx);    
  4. stage.addEventListener ("enterFrame",onEnterFrameMove); 
  5. function onEnterFrameMove (e:Event) {    
  6.         p1_mc.x+=Math.cos(angle); p1_mc.y+=Math.sin(angle);    
  7. }