Android:自定義view之角度與弧度

前言
  • 為什么講這個(gè)放案?
    在我們自定義View和蚪,尤其是制作一些復(fù)雜炫酷的效果的時(shí)候双藕,實(shí)際上是將一些簡單的東西通過數(shù)學(xué)上精密的計(jì)算組合到一起形成的效果淑趾。
    這其中可能會(huì)涉及到畫布的相關(guān)操作(旋轉(zhuǎn)),以及一些正余弦函數(shù)的計(jì)算等忧陪,這些內(nèi)容就會(huì)用到一些角度扣泊、弧度相關(guān)的知識。

  • 為什么對角的描述存在角度與弧度兩種單位嘶摊?
    簡單來說就是為了方便延蟹,為了精確描述一個(gè)角的大小引入了角度與弧度的概念。
    由于兩者進(jìn)制是不同的(角度是60進(jìn)制叶堆,弧度是10進(jìn)制),在合適的地方使用合適的單位來描述會(huì)更加方便阱飘。
    例如: 角度是60進(jìn)位制,遇到30°6′這樣的角虱颗,應(yīng)該轉(zhuǎn)化為10進(jìn)制的30.1°沥匈。但弧度就不需要,因?yàn)榛《缺旧砭褪鞘M(jìn)制的實(shí)數(shù)忘渔。(當(dāng)求∠AOB的時(shí)候,得到弧度可能是0.52,轉(zhuǎn)換為角度可能就是30.1 °,只是表示形式不同,下文會(huì)介紹怎樣快速計(jì)算弧度從而轉(zhuǎn)化為角度)

角度與弧度的定義

角度和弧度一樣都是描述角的一種度量單位咐熙,下面是它們的定義:
角度 兩條射線從圓心向圓周射出,形成一個(gè)夾角和夾角正對的一段弧辨萍。當(dāng)這段弧長正好等于圓周長的360分之一時(shí)棋恼,兩條射線的夾角的大小為1度.
弧度 兩條射線從圓心向圓周射出,形成一個(gè)夾角和夾角正對的一段弧锈玉。當(dāng)這段弧長正好等于圓的半徑時(shí)爪飘,兩條射線的夾角大小為1弧度.(也就是1弧度是一個(gè)double值)

1度
1弧度
角度和弧度的換算關(guān)系

rad 是弧度, deg 是角度


應(yīng)用

在自定義view中求一個(gè)角度的時(shí)候,先求出弧度在轉(zhuǎn)化為角度
假設(shè):點(diǎn)擊view中一點(diǎn)A(touchPoint.x,touchPoint.y),求出相對于O(centerPoint.x,centerPoint.y)的角度(A就是view坐標(biāo)系中點(diǎn)擊的一點(diǎn),O就相當(dāng)于view的中心點(diǎn))

 // 兩點(diǎn)在X軸的距離
float lenX = (float) (touchPoint.x - centerPoint.x);
// 兩點(diǎn)在Y軸距離
float lenY = (float) (touchPoint.y - centerPoint.y);
// 兩點(diǎn)距離
float lenXY = (float) Math.sqrt((double) (lenX * lenX + lenY * lenY));
// 計(jì)算弧度
double radian = Math.acos(lenX / lenXY) * (touchPoint.y < centerPoint.y ? -1 : 1);
double tmp = Math.round(radian / Math.PI * 180); 
// 計(jì)算角度
double angle =tmp >= 0 ? tmp : 360 + tmp;

自定義View目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拉背,一起剝皮案震驚了整個(gè)濱河市师崎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌椅棺,老刑警劉巖犁罩,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件齐蔽,死亡現(xiàn)場離奇詭異,居然都是意外死亡床估,警方通過查閱死者的電腦和手機(jī)含滴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丐巫,“玉大人谈况,你說我怎么就攤上這事〉蓦剩” “怎么了碑韵?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缎脾。 經(jīng)常有香客問我祝闻,道長,這世上最難降的妖魔是什么遗菠? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任联喘,我火速辦了婚禮,結(jié)果婚禮上舷蒲,老公的妹妹穿的比我還像新娘。我一直安慰自己友多,他們只是感情好牲平,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著域滥,像睡著了一般纵柿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上启绰,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天昂儒,我揣著相機(jī)與錄音,去河邊找鬼委可。 笑死渊跋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的着倾。 我是一名探鬼主播拾酝,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卡者!你這毒婦竟也來了蒿囤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤崇决,失蹤者是張志新(化名)和其女友劉穎材诽,沒想到半個(gè)月后底挫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脸侥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年建邓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片湿痢。...
    茶點(diǎn)故事閱讀 40,872評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涝缝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出譬重,到底是詐尸還是另有隱情拒逮,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布臀规,位于F島的核電站滩援,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏塔嬉。R本人自食惡果不足惜玩徊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谨究。 院中可真熱鬧恩袱,春花似錦、人聲如沸胶哲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸯屿。三九已至澈吨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寄摆,已是汗流浹背谅辣。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留婶恼,地道東北人桑阶。 一個(gè)月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像勾邦,于是被迫代替她去往敵國和親联逻。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 基礎(chǔ)篇 一检痰、坐標(biāo)系 1包归、屏幕坐標(biāo)系和數(shù)學(xué)坐標(biāo)系的區(qū)別 由于移動(dòng)設(shè)備一般定義屏幕左上角為坐標(biāo)原點(diǎn),向右為x軸增大方向...
    呂侯爺閱讀 468評論 0 2
  • 一.角度與弧度的定義 Android中角度(angle)與弧度(radian)的有關(guān)問題铅歼。 角度:兩條射線從圓心向...
    藍(lán)楓zeke閱讀 616評論 0 0
  • 目錄 從0到1Android自定義View(一) 零散基礎(chǔ)知識.png 一公壤、Android 坐標(biāo)系 1换可、Andro...
    justCode_閱讀 495評論 0 1
  • 最近參加了“輕松讀書”舉辦的第五期讀書活動(dòng)沾鳄,一直在讀《好好學(xué)習(xí)》這本書,今天确憨,群里有一位書友在群里分享了3則笑話給...
    小歸ing閱讀 1,183評論 4 5
  • 高溫季節(jié)腦昏昏译荞,強(qiáng)記知識實(shí)難成。把書端到手上看休弃,頓時(shí)成了磕睡蟲吞歼。如今重溫讀書苦,深知為徒難做人塔猾。要想學(xué)得真本領(lǐng)篙骡,唯...
    鎮(zhèn)南方良金閱讀 186評論 0 1