3D數(shù)學(xué)

1, 向量

2, 矩陣

3, 歐拉角

4, 四元數(shù)

5, 坐標(biāo)系變換

6, 齊次坐標(biāo)與透視變換的推導(dǎo)

  • 齊次坐標(biāo)

向量和點(diǎn)在同一個基下就有不同的表達(dá):3D向量的第4個代數(shù)分量是0歹叮,而3D點(diǎn)的第4個代數(shù)分量是1遥倦。像這種這種用4個代數(shù)分量表示3D幾何概念的方式是一種齊次坐標(biāo)表示捌治。
"齊次坐標(biāo)表示是計(jì)算機(jī)圖形學(xué)的重要手段之一,它既能夠用來明確區(qū)分向量和點(diǎn),同時也更易用于進(jìn)行仿射(線性)幾何變換鹿驼。"-- F.S. Hill, JR

  • 透視變換

透視投影變換由兩步組成:
1) 裁剪: 用透視變換矩陣把頂點(diǎn)從視錐體中變換到裁剪空間的CVV中
2) 透視除法: CVV裁剪完成后進(jìn)行透視除法

  • 推導(dǎo)

http://blog.sina.com.cn/s/blog_74eb759d0100odej.html
http://blog.sina.com.cn/s/blog_74eb759d0100ogsd.html

7,仿射變換矩陣

計(jì)算機(jī)圖形學(xué)中的應(yīng)用非常廣泛的變換是一種稱為仿射變換的特殊變換紊婉,在仿射變換中的基本變換包括平移、旋轉(zhuǎn)德召、縮放白魂、剪切這幾種

  • 繞X軸旋轉(zhuǎn)

在三維場景中,當(dāng)一個點(diǎn)P(x,y,z)繞x軸旋轉(zhuǎn)θ角得到點(diǎn)P’(x’,y’,z’)上岗。由于是繞x軸進(jìn)行的旋轉(zhuǎn)福荸,因此x坐標(biāo)保持不變,y和z組成的yoz(o是坐標(biāo)原點(diǎn))平面上進(jìn)行的是一個二維的旋轉(zhuǎn)肴掷,可以參考上圖(y軸類似于二維旋轉(zhuǎn)中的x軸敬锐,z軸類似于二維旋轉(zhuǎn)中的y軸),于是有:
x′=x
y′=ycosθ?zsinθ
z′=ysinθ+zcosθ
寫成(4x4)矩陣的形式 :


Snip20170914_5.png
  • 繞Y軸旋轉(zhuǎn)

繞Y軸的旋轉(zhuǎn)和繞X軸的旋轉(zhuǎn)類似呆瞻,Y坐標(biāo)保持不變台夺,除Y軸之外,ZOX組成的平面進(jìn)行一次二維的旋轉(zhuǎn)(Z軸類似于二維旋轉(zhuǎn)的X軸痴脾,X軸類似于二維旋轉(zhuǎn)中的Y軸颤介,注意這里是ZOX,而不是XOZ赞赖,觀察上圖中右手系的圖片可以很容易了解到這一點(diǎn))滚朵,同樣有:
x′=zsinθ+xcosθ
y′=y
z′=zcosθ?xsinθ
寫成(4x4)矩陣的形式 :


Snip20170914_6.png
  • 繞Z軸旋轉(zhuǎn)

與上面類似,繞Z軸旋轉(zhuǎn)前域,Z坐標(biāo)保持不變始绍,xoy組成的平面內(nèi)正好進(jìn)行一次二維旋轉(zhuǎn)(和上面討論二維旋轉(zhuǎn)的情況完全一樣)

Snip20170914_8.png
  • 推導(dǎo)過程

http://blog.csdn.net/csxiaoshui/article/details/65446125

7,世界坐標(biāo)變換要先縮放、后旋轉(zhuǎn)话侄、再平移的原因

一個三維場景中的各個模型一般需要各自建模亏推,再通過坐標(biāo)變換放到一個統(tǒng)一的世界空間的指定位置上。 這個過程在 3D 圖形學(xué)中稱作“世界變換” 年堆。 世界變換有三種吞杭,平移、旋轉(zhuǎn)和縮放 (實(shí)際還有不常用的扭曲和鏡像变丧,它們不是affine變換)芽狗。 這三種變換按各種順序執(zhí)行,結(jié)果是不同的痒蓬。 可是實(shí)際的應(yīng)用中一般按照 縮放 -> 旋轉(zhuǎn) -> 平移的順序進(jìn)行童擎。 這樣做的原因是可以獲得最符合常理的變換結(jié)果滴劲。
比方說,通過世界變換希望獲得的結(jié)果可能是:
將一個放在原點(diǎn)的物體(比方說可樂罐)移動到(30顾复,50)班挖,讓它自身傾斜 45 度,再放大 2 倍芯砸。
而不希望的結(jié)果是:
和本地坐標(biāo)軸成角度的縮放(會導(dǎo)致扭曲萧芙,像踩扁的可樂罐)。
繞自己幾何中心以外位置的原點(diǎn)的旋轉(zhuǎn) (地球公轉(zhuǎn)式) 和縮放假丧。
而顛倒了上述變換順序就會得到這樣不自然的結(jié)果双揪。
具體的說:
當(dāng)縮放在旋轉(zhuǎn)之后進(jìn)行時,會發(fā)生現(xiàn)象1包帚。
當(dāng)縮放和旋轉(zhuǎn)在平移之后進(jìn)行時會發(fā)生現(xiàn)象2渔期。
這時因?yàn)椋?br> 在物體剛剛放入世界坐標(biāo)系的時候使用的是本地坐標(biāo),也就是本地和全局坐標(biāo)系的原點(diǎn)和坐標(biāo)軸都是重合的(當(dāng)然兩者分別使用了左右手坐標(biāo)系時除外 - 那是BUG)渴邦,此時所有物體都“把世界坐標(biāo)系當(dāng)做自己的本地坐標(biāo)系”擎场。
而經(jīng)過了坐標(biāo)變換之后:
縮放變換不改變坐標(biāo)軸的走向,也不改變原點(diǎn)的位置几莽,所以兩個坐標(biāo)系仍然重合迅办。
旋轉(zhuǎn)變換改變坐標(biāo)軸的走向,但不改變原點(diǎn)的位置章蚣,所以兩個坐標(biāo)系坐標(biāo)軸不再處于相同走向站欺。
平移變換不改變坐標(biāo)軸走向,但改變原點(diǎn)位置纤垂,兩個坐標(biāo)系原點(diǎn)不再重合矾策。
這樣就可以解釋問什么縮放不能在旋轉(zhuǎn)之后,而縮放和旋轉(zhuǎn)都不能在平移之后了峭沦。 于是沒有問題的順序只能是 縮放 -> 旋轉(zhuǎn) -> 平移 贾虽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吼鱼,隨后出現(xiàn)的幾起案子蓬豁,更是在濱河造成了極大的恐慌,老刑警劉巖菇肃,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件地粪,死亡現(xiàn)場離奇詭異,居然都是意外死亡琐谤,警方通過查閱死者的電腦和手機(jī)蟆技,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人质礼,你說我怎么就攤上這事旺聚。” “怎么了眶蕉?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵砰粹,是天一觀的道長。 經(jīng)常有香客問我妻坝,道長,這世上最難降的妖魔是什么惊窖? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任刽宪,我火速辦了婚禮,結(jié)果婚禮上界酒,老公的妹妹穿的比我還像新娘圣拄。我一直安慰自己,他們只是感情好毁欣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布庇谆。 她就那樣靜靜地躺著,像睡著了一般凭疮。 火紅的嫁衣襯著肌膚如雪饭耳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天执解,我揣著相機(jī)與錄音寞肖,去河邊找鬼。 笑死衰腌,一個胖子當(dāng)著我的面吹牛新蟆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播右蕊,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼琼稻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了饶囚?” 一聲冷哼從身側(cè)響起帕翻,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萝风,沒想到半個月后熊咽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闹丐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年横殴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡衫仑,死狀恐怖梨与,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情文狱,我是刑警寧澤粥鞋,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站瞄崇,受9級特大地震影響呻粹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苏研,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一等浊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧摹蘑,春花似錦筹燕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至大渤,卻和暖如春制妄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泵三。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工忍捡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人切黔。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓砸脊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纬霞。 傳聞我的和親對象是個殘疾皇子凌埂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評論 2 348

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

  • 1 前言 OpenGL渲染3D模型離不開空間幾何的數(shù)學(xué)理論知識,而本篇文章的目的就是對空間幾何進(jìn)行簡單的介紹诗芜,并對...
    RichardJieChen閱讀 6,956評論 1 11
  • 矩陣的線性變換可以分為:旋轉(zhuǎn)瞳抓,縮放,投影伏恐,鏡像孩哑,切變等。每一種線性變換對應(yīng)著相應(yīng)的矩陣翠桦。 旋轉(zhuǎn) 2D旋轉(zhuǎn):a為行向...
    Levi_Wan閱讀 2,384評論 1 1
  • 愛吃豆腐皮的稻荷神横蜒、動漫中只有孩子看得見的龍貓...這些角色大家應(yīng)該都不陌生胳蛮。日本這個小小的島國上有這么多的神明“...
    螢_閱讀 849評論 0 1
  • 工作的時候經(jīng)常因?yàn)椴荒芗凶⒁饬Χ鵁溃袝r候明明在做報(bào)表丛晌,結(jié)果因?yàn)榫W(wǎng)頁上出現(xiàn)了自己感興趣的新聞而把注意力關(guān)注在...
    透明的橙閱讀 150評論 0 0
  • 辯證法無時不刻在我們的生活中仅炊,我們知道辯證法,知道矛盾澎蛛。當(dāng)你正在開始用辯證的思維思考問題的時候抚垄,一切都會不一樣起來...
    萌龍?jiān)谔?/span>閱讀 347評論 0 0