安卓自定义View 角度与弧度篇

角度与弧度

前言

1.为什么讲这个
我们自定义View,或者是制造一些炫酷的视觉效果时,其实是将一些简单的东西用数学的精密计算组合到一起形成的视觉效果。

这会涉及到画布的相关操作,以及一些正余弦函数的计算等,而且这些内容就会用到一些角度、弧度相关的知识。

为什么对角的描述存在角度与弧度两种单位?
简单来说就是为了方便,以便于精确描述一个角的大小。

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

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

角度与弧度的定义

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

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

如图:
这里写图片描述
这里写图片描述

角度和弧度的换算关系

圆一周对应的角度为360度(角度),对应的弧度为2π弧度。
故得等价关系:360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)
由等价关系可得如下换算公式:

rad 是弧度, deg 是角度

公式例子
rad = deg x π / 1802π = 360 x π / 180
deg = rad x 180 / π360 = 2π x 180 / π

维基百科的公式:

rad 是弧度, deg 是角度

这里写图片描述

一些细节问题

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

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

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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值