Swift CATransform3D

今天來了解下CATransform3D的一些基本的知識姑丑。
CATransform3D是一個用于處理3D形變的類,其可以改變控件的平移蛤签、縮放、旋轉(zhuǎn)栅哀、斜交等,其坐標(biāo)系統(tǒng)采用的是三維坐標(biāo)系,即向右為x軸正方向,向下為y軸正方向,垂直屏幕向外為z軸正方向震肮。

方法的基本介紹

<p>CATransform3DMakeTranslation實現(xiàn)以初始位置為基準(zhǔn),在x軸方向上平移x單位,在y軸方向上平移y單位,在z軸方向上平移z單位。
格式:
<pre>public func CATransform3DMakeTranslation(_ tx: CGFloat, _ ty: CGFloat, _ tz: CGFloat) -> CATransform3D</pre>
當(dāng)tx為正值時,會向x軸正方向平移,反之,則向x軸負(fù)方向平移;當(dāng)ty為正值時,會向y軸正方向平移,反之,則向y軸負(fù)方向平移;當(dāng)tz為正值時,會向z軸正方向平移,反之,則向z軸負(fù)方向平移留拾。</p>

<p>CATransform3DTranslate實現(xiàn)以一個已經(jīng)存在的形變?yōu)榛鶞?zhǔn),在x軸方向上平移x單位,在y軸方向上平移y單位,在z軸方向上平移z單位戳晌。
格式:
<pre>public func CATransform3DTranslate(_ t: CATransform3D, _ tx: CGFloat, _ ty: CGFloat, _ tz: CGFloat) -> CATransform3D</pre></p>

CATransform3DMakeScale實現(xiàn)以初始位置為基準(zhǔn),在x軸方向上縮放x倍,在y軸方向上縮放y倍,在z軸方向上縮放z倍。
格式:
<pre>public func CATransform3DMakeScale(_ sx: CGFloat, _ sy: CGFloat, _ sz: CGFloat) -> CATransform3D</pre>
當(dāng)sx為正值時,會在x軸方向上縮放x倍,反之,則在縮放的基礎(chǔ)上沿著豎直線翻轉(zhuǎn);當(dāng)sy為正值時,會在y軸方向上縮放y倍,反之,則在縮放的基礎(chǔ)上沿著水平線翻轉(zhuǎn)痴柔。

CATransform3DScale實現(xiàn)以一個已經(jīng)存在的形變?yōu)榛鶞?zhǔn),在x軸方向上縮放x倍,在y軸方向上縮放y倍,在z軸方向上縮放z倍沦偎。
格式:
<pre>public func CATransform3DScale(_ t: CATransform3D, _ sx: CGFloat, _ sy: CGFloat, _ sz: CGFloat) -> CATransform3D</pre>
CATransform3DMakeRotation實現(xiàn)以初始位置為基準(zhǔn),在x軸,y軸,z軸方向上逆時針旋轉(zhuǎn)angle弧度(弧度=π/180×角度,M_PI弧度代表180角度),x,y,z三個參數(shù)只分是否為0。
格式:
<pre>public func CATransform3DMakeRotation(_ angle: CGFloat, _ x: CGFloat, _ y: CGFloat, _ z: CGFloat) -> CATransform3D</pre>
當(dāng)x,y,z值為0時,代表在該軸方向上不進(jìn)行旋轉(zhuǎn),當(dāng)值為1時,代表在該軸方向上進(jìn)行逆時針旋轉(zhuǎn),當(dāng)值為-1時,代表在該軸方向上進(jìn)行順時針旋轉(zhuǎn)咳蔚。

CATransform3DRotate實現(xiàn)以一個已經(jīng)存在的形變?yōu)榛鶞?zhǔn),在x軸,y軸,z軸方向上逆時針旋轉(zhuǎn)angle弧度(弧度=π/180×角度,M_PI弧度代表180角度),x,y,z三個參數(shù)只分是否為0豪嚎。
格式:
<pre>public func CATransform3DRotate(_ t: CATransform3D, _ angle: CGFloat, _ x: CGFloat, _ y: CGFloat, _ z: CGFloat) -> CATransform3D</pre>

注意:

CALayer中有一個transform屬性便是專門用來控制3D形變的,transform屬性默認(rèn)值為CATransform3DIdentity,可以在形變之后設(shè)置該值以還原到最初狀態(tài)。
關(guān)于結(jié)構(gòu)體中的m34谈火,在默認(rèn)情況下,系統(tǒng)采用正交投影,對于3D形變實際上是看不到3D效果的,在CATransform3D結(jié)構(gòu)體中有一個m34便允許我們將正交投影修改為有近大遠(yuǎn)小立體效果的透視投影,其中m34 = -1.0/z,這個z為觀察者與控件之間的距離侈询, m34必須在賦值transform之前設(shè)置才會生效。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末糯耍,一起剝皮案震驚了整個濱河市扔字,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌温技,老刑警劉巖革为,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舵鳞,居然都是意外死亡震檩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門系任,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恳蹲,“玉大人虐块,你說我怎么就攤上這事〖卫伲” “怎么了贺奠?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長错忱。 經(jīng)常有香客問我儡率,道長,這世上最難降的妖魔是什么以清? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任儿普,我火速辦了婚禮,結(jié)果婚禮上掷倔,老公的妹妹穿的比我還像新娘眉孩。我一直安慰自己,他們只是感情好勒葱,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布浪汪。 她就那樣靜靜地躺著,像睡著了一般凛虽。 火紅的嫁衣襯著肌膚如雪死遭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天凯旋,我揣著相機(jī)與錄音呀潭,去河邊找鬼。 笑死至非,一個胖子當(dāng)著我的面吹牛钠署,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播睡蟋,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼踏幻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了戳杀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夭苗,失蹤者是張志新(化名)和其女友劉穎信卡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體题造,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡傍菇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了界赔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丢习。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡牵触,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咐低,到底是詐尸還是另有隱情揽思,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布见擦,位于F島的核電站钉汗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鲤屡。R本人自食惡果不足惜损痰,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酒来。 院中可真熱鬧卢未,春花似錦、人聲如沸堰汉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衡奥。三九已至爹袁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矮固,已是汗流浹背失息。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留档址,地道東北人盹兢。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像守伸,于是被迫代替她去往敵國和親绎秒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

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