安卓中角度(angle)与弧度(radian)的有关问题。git
在咱们自定义View,尤为是制做一些复杂炫酷的效果的时候,其实是将一些简单的东西经过数学上精密的计算组合到一块儿造成的效果。github
这其中可能会涉及到画布的相关操做(旋转),以及一些正余弦函数的计算等,这些内容就会用到一些角度、弧度相关的知识。函数
简单来讲就是为了方便,为了精确描述一个角的大小引入了角度与弧度的概念。oop
因为二者进制是不一样的(角度是60进制,弧度是10进制),在合适的地方使用合适的单位来描述会更加方便。blog
例如: 角度是60进位制,遇到30°6′这样的角,应该转化为10进制的30.1°。但弧度就不须要,由于弧度自己就是十进制的实数。get
角度和弧度同样都是描述角的一种度量单位,下面是它们的定义:数学
名称 | 定义 |
---|---|
角度 | 两条射线从圆心向圆周射出,造成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度. |
弧度 | 两条射线从圆心向圆周射出,造成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度. |
如图:it
圆一周对应的角度为360度(角度),对应的弧度为2π弧度。table
故得等价关系:360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)ast
由等价关系可得以下换算公式:
rad 是弧度, deg 是角度
公式 | 例子 |
---|---|
rad = deg x π / 180 | 2π = 360 x π / 180 |
deg = rad x 180 / π | 360 = 2π x 180 / π |
维基百科的公式:
rad 是弧度, deg 是角度
因为默认屏幕坐标系和常见数学坐标系的小差异(坐标系问题点这里),因此在角上必然也会存在一些区别,例如:
在常见的数学坐标系中角度增大方向为逆时针,
在默认的屏幕坐标系中角度增大方向为顺时针。