Apple Documentation <Foundation> (1) NSAffineTransform

開始看蘋果官網(wǎng)文檔袜炕,記錄。

NSAffineTransform是個矩陣的變換

struct CGAffineTransform
{ 
   CGFloat a, b, c, d;  
   CGFloat tx, ty;
};
變換矩陣.png

看到這里一臉懵逼初家,好吧偎窘,先去查看下矩陣相關(guān)的東西(PS:我討厭這種東西,畢竟大學(xué)線性代數(shù)是我唯一掛的科溜在,呵呵??)

齊次坐標.png

這玩意叫做齊次坐標陌知,將一個n維向量用一個n+1維來表示,引入齊次坐標的目的主要是合并矩陣運算中的乘法和加法掖肋,而矩陣的乘法加法就是我們可以對視圖做出包括但不限于平移纵诞,旋轉(zhuǎn),縮放等操作的基礎(chǔ)培遵。變換矩陣.png中可以看到第一行的都是齊次坐標。

第三列總是(0,0,1)登刺,用來作為坐標系的標準籽腕。所以所有的變化都由前兩列完成。

知道了什么是齊次坐標纸俭,接下來......

矩陣乘法

矩陣相乘最重要的方法是一般矩陣乘積皇耗。它只有在第一個矩陣的列數(shù)(column)和第二個矩陣的行數(shù)(row)相同時才有意義。一般單指矩陣乘積時揍很,指的便是一般矩陣乘積郎楼。一個m×n的矩陣就是m×n個數(shù)排成m行n列的一個數(shù)陣万伤。由于它把許多數(shù)據(jù)緊湊的集中到了一起,所以有時候可以簡便地表示一些復(fù)雜的模型呜袁。(百度復(fù)制粘貼??)

相對于的加法自行百度
概念結(jié)束敌买,直接運算原理:

矩陣乘法公式.png

原坐標設(shè)為[X , Y , 1 ](經(jīng)過歸一化處理后第三個數(shù)為1,至于什么是歸一化處理)


歸一化處理.png

噥阶界,就是這個

好了虹钮,繼續(xù)

矩陣乘法結(jié)果.png

如果 a = d = 1 , b = c = 0
轉(zhuǎn)換之后坐標就變成(X + tx , Y +ty),即坐標進行了平移膘融。

如果 b = c = tx = ty = 0
轉(zhuǎn)換之后變成 (aX , dY , 1)芙粱,即坐標X按照a進行縮放,Y按照d進行縮放氧映。

如果 tx = ty = 0春畔,a = cos?,b = sin?岛都,c = -sin?律姨,d = cos?
轉(zhuǎn)換之后變成 [Xcos? - Ysin? , Xsin? + Ycos? , 1] ,?就是旋轉(zhuǎn)的角度疗绣,逆時針為正线召,順時針為負。

這樣就完成了這些平移多矮,旋轉(zhuǎn)缓淹,縮放等操作

代碼就不寫了,反正就是知道下原理塔逃,其實apple已經(jīng)在UIImageOrientation的枚舉里定義了好多變換讯壶,用著就行了。

over湾盗,明天聊聊 NSAttributedString

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垂攘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鹃祖,更是在濱河造成了極大的恐慌钓猬,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帐萎,死亡現(xiàn)場離奇詭異比伏,居然都是意外死亡,警方通過查閱死者的電腦和手機疆导,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門赁项,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事悠菜〗⒃埽” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵悔醋,是天一觀的道長摩窃。 經(jīng)常有香客問我,道長篙顺,這世上最難降的妖魔是什么偶芍? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮德玫,結(jié)果婚禮上匪蟀,老公的妹妹穿的比我還像新娘。我一直安慰自己宰僧,他們只是感情好材彪,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著琴儿,像睡著了一般段化。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上造成,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天显熏,我揣著相機與錄音,去河邊找鬼晒屎。 笑死喘蟆,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的鼓鲁。 我是一名探鬼主播蕴轨,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骇吭!你這毒婦竟也來了橙弱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤燥狰,失蹤者是張志新(化名)和其女友劉穎棘脐,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體龙致,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡荆残,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了净当。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖像啼,靈堂內(nèi)的尸體忽然破棺而出俘闯,到底是詐尸還是另有隱情,我是刑警寧澤忽冻,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布真朗,位于F島的核電站,受9級特大地震影響僧诚,放射性物質(zhì)發(fā)生泄漏遮婶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一湖笨、第九天 我趴在偏房一處隱蔽的房頂上張望旗扑。 院中可真熱鬧,春花似錦慈省、人聲如沸臀防。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽袱衷。三九已至,卻和暖如春笑窜,著一層夾襖步出監(jiān)牢的瞬間致燥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工排截, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嫌蚤,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓匾寝,卻偏偏與公主長得像搬葬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子艳悔,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

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

  • 目錄(transform) 基礎(chǔ)及矩陣概念 2D仿射 3D仿射 1. 基礎(chǔ)及矩陣概念 在iOS的動畫效果中急凰,變換是...
    Ryan___閱讀 8,607評論 3 18
  • 1 前言 OpenGL渲染3D模型離不開空間幾何的數(shù)學(xué)理論知識,而本篇文章的目的就是對空間幾何進行簡單的介紹猜年,并對...
    RichardJieChen閱讀 6,991評論 1 11
  • 仿射變換 AffineTransform抡锈,在iOS中他的實現(xiàn)類是CGAffineTransform和CATrans...
    UILabelkell閱讀 3,770評論 1 8
  • 變換(Transformations) 我們可以嘗試著在每一幀改變物體的頂點并且重設(shè)緩沖區(qū)從而使他們移動,但這太繁...
    IceMJ閱讀 4,126評論 0 1
  • 橘黃色的桌子 一排排少年 嘻嘻哈哈 在等待著監(jiān)考老師帶我們?nèi)C房考試 好像早已忘記了考試這回事 同學(xué)們笑靨如花 我...
    愿被時光溫柔以待66閱讀 130評論 0 0