安卓自定義View基礎 角度與弧度

2022-08-22 02:00:15 字數 1503 閱讀 7950

安卓中角度(angle)與弧度(radian)的有關問題。

在我們自定義view,尤其是製作一些複雜炫酷的效果的時候,實際上是將一些簡單的東西通過數學上精密的計算組合到一起形成的效果。

這其中可能會涉及到畫布的相關操作(旋轉),以及一些正余弦函式的計算等,這些內容就會用到一些角度、弧度相關的知識。

簡單來說就是為了方便,為了精確描述乙個角的大小引入了角度與弧度的概念。

由於兩者進製是不同的(角度是60進製,弧度是10進製),在合適的地方使用合適的單位來描述會更加方便。

例如:角度是60進製,遇到30°6′這樣的角,應該轉化為10進製的30.1°。但弧度就不需要,因為弧度本身就是十進位制的實數。

角度和弧度一樣都是描述角的一種度量單位,下面是它們的定義:

名稱定義

角度兩條射線從圓心向圓周射出,形成乙個夾角和夾角正對的一段弧。當這段弧長正好等於圓周長的360分之一時,兩條射線的夾角的大小為1度.

弧度兩條射線從圓心向圓周射出,形成乙個夾角和夾角正對的一段弧。當這段弧長正好等於圓的半徑時,兩條射線的夾角大小為1弧度.

如圖:

圓一周對應的角度為360度(角度),對應的弧度為2π弧度。

故得等價關係:360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)

由等價關係可得如下換算公式:

rad 是弧度, deg 是角度

公式

例子rad = deg x π / 180

2π = 360 x π / 180

deg = rad x 180 / π

360 = 2π x 180 / π

維基百科的公式:

rad 是弧度, deg 是角度

由於預設螢幕座標系和常見數學座標系的小差別(座標系問題點這裡),所以在角上必然也會存在一些區別,例如:

在常見的數學座標系中角度增大方向為逆時針,

在預設的螢幕座標系中角度增大方向為順時針。

安卓自定義View基礎 座標系,角度弧度,顏色

1.座標系 2.角度弧度 3.顏色 由於移動裝置一般定義螢幕左上角為座標原點,向右為x軸增大方向,向下為y軸增大方向,所以在手機螢幕上的座標系與數學中常見的座標系是稍微有點差別的,詳情如下 ps 其中的 a 是對應的,注意y軸方向!實際螢幕上的預設座標系如下 ps 假設其中棕色部分為手機螢幕 注意 ...

安卓自定義View基礎 座標系

由於移動裝置一般定義螢幕左上角為座標原點,向右為x軸增大方向,向下為y軸增大方向,所以在手機螢幕上的座標系與數學中常見的座標系是稍微有點差別的,詳情如下 ps 其中的 a 是對應的,注意y軸方向!實際螢幕上的預設座標系如下 ps 假設其中棕色部分為手機螢幕 注意 view的座標系統是相對于父控制項而...

安卓自定義view繪製尺寸

我們知道view在螢幕上顯示出來要先經過measure和layout.在呼叫onmeasure int widthspec,int heightspec 方法時,要涉及到measurespec的使用,measurespec有3種模式分別是unspecified,exactly和at most,那麼這...