Android自定义View基础-角度弧度

作者微博: @GcsSloop

【本系列相关文章】

安卓中角度(angle)与弧度(radian)的有关问题。

一.前言

1.为什么讲这个?

在我们自定义View,尤其是制作一些复杂炫酷的效果的时候,实际上是将一些简单的东西通过数学上精密的计算组合到一起形成的效果。

这其中可能会涉及到画布的相关操作(旋转),以及一些正余弦函数的计算等,这些内容就会用到一些角度、弧度相关的知识。

2.为什么对角的描述存在角度与弧度两种单位?

简单来说就是为了方便,为了精确描述一个角的大小引入了角度与弧度的概念。

由于两者进制是不同的(角度是60进制,弧度是10进制),在合适的地方使用合适的单位来描述会更加方便。

例如:
角度是60进位制,遇到30°6′这样的角,应该转化为10进制的30.1°。但弧度就不需要,因为弧度本身就是十进制的实数。

二.角度与弧度的定义

角度和弧度一样都是描述角的一种度量单位,下面是它们的定义:

名称 定义
角度 两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度.
弧度 两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度.

如图:


三.角度和弧度的换算关系

根据角度和弧度的的定义和圆的相关知识非常容易就能得出两者的换算公式:

先设圆的周长为C. 半径为r

C = 2πr;

一周对应的角度为360度(角度),对应的弧度为2π弧度。

故: 180度 = π弧度.

可得:

公式 例子
弧度 = 角度xπ/180 2π = 360 x π / 180
角度 = 弧度x180/π 360 = 2π x 180 / π

维基百科的公式:

rad 是弧度, deg 是角度

四.一些细节问题

由于默认屏幕坐标系和常见数学坐标系的小差别(坐标系问题点这里),所以在角上必然也会存在一些区别,例如:

在常见的数学坐标系中角度增大方向为逆时针,

在默认的屏幕坐标系中角度增大方向为顺时针。

你可以在下面平台找到我。
微博 | GitHub | 知乎

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android自定义View基础:坐标系Android自定义View基础:角度弧度 角度与弧度的定义 角度和弧度一...
    冉冉升起的小太阳阅读 5,169评论 1 1
  • 基础篇 一、坐标系 1、屏幕坐标系和数学坐标系的区别 由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向...
    吕侯爷阅读 3,315评论 0 2
  • 我不勤劳。 真的吗?不不!从小我就会帮妈妈做很多的家务事,妈妈不在家,哥哥都没做事啊, 饭都是我做的。我和哥哥去农...
    航锐珊阅读 1,677评论 0 0
  • 我说,梦想是彩虹,我更想说,梦想是水珠,当它们凝聚在一起,才能折射出彩虹的七彩绚烂;我说,梦想是大海,我更想说...
    寡言多语阅读 1,319评论 0 0
  • 一眨眼,一年又过去了,眼看他人事业、爱情双丰收,还外带一宝宝;眼看他人买车、买房,过得有滋有味,再看看自己,...
    简书2816阅读 2,299评论 0 0