笔记:Flash & 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))
}

感谢阅读

你们好, 2018 年初把小站从 Jekyll 迁移到 Hugo 的过程中,删除了评论区放的 Disqus 插件,考虑有二:首先无论评论、还是对笔记内容的进一步讨论,读者们更喜欢通过邮件、或者 Twitter 私信的方式来沟通;其次一年多以来 Disqus 后台能看到几乎都是垃圾留言(spam),所以这里直接贴一下邮件、以及 Twitter 账户 地址。

技术发展迭代很快,所以这些笔记内容也有类似新闻的时效性,不免有过时、或者错误的地方,欢迎指正 ^_^。

BEST
Lien(A.K.A 胡椒)
本站总访问量 本站总访客量 本文总阅读量