一.前言
1.為什麼講這個?
在我們自定義View,尤其是製作一些複雜炫酷的效果的時候,實際上是將一些簡單的東西通過數學上精密的計算組合到一起形成的效果。
這其中可能會涉及到畫布的相關操作(旋轉),以及一些正餘弦函式的計算等,這些內容就會用到一些角度、弧度相關的知識。
2.為什麼對角的描述存在角度與弧度兩種單位?
簡單來說就是為了方便,為了精確描述一個角的大小引入了角度與弧度的概念。
由於兩者進位制是不同的(角度是60進位制,弧度是10進位制),在合適的地方使用合適的單位來描述會更加方便。
例如: 角度是60進位制,遇到30°6′這樣的角,應該轉化為10進位制的30.1°。但弧度就不需要,因為弧度本身就是十進位制的實數。
二.角度與弧度的定義
角度和弧度一樣都是描述角的一種度量單位,下面是它們的定義:
名稱 | 定義 |
---|---|
角度 | 兩條射線從圓心向圓周射出,形成一個夾角和夾角正對的一段弧。當這段弧長正好等於圓周長的360分之一時,兩條射線的夾角的大小為1度. |
弧度 | 兩條射線從圓心向圓周射出,形成一個夾角和夾角正對的一段弧。當這段弧長正好等於圓的半徑時,兩條射線的夾角大小為1弧度. |
如圖:
三.角度和弧度的換算關係
根據角度和弧度的的定義和圓的相關知識非常容易就能得出兩者的換算公式:
先設圓的周長為C. 半徑為r
C = 2πr;
一週對應的角度為360度(角度),對應的弧度為2π弧度。
故: 180度 = π弧度.
可得:
弧度 = 角度xπ/180
角度 = 弧度x180/π
四.一些細節問題
由於預設螢幕座標系和常見數學座標系的小差別(座標系問題點這裡),所以在角上必然也會存在一些區別,例如:
在常見的數學座標系中角度增大方向為逆時針,
在預設的螢幕座標系中角度增大方向為順時針。
打賞支援我寫出更多好文章,謝謝!
打賞作者
打賞支援我寫出更多好文章,謝謝!
任選一種支付方式