CG中的數(shù)學--幾何部分(Geometry)

1. 矩陣(Matrix)

1.1 矩陣和笛卡爾坐標系之間的關系

理解矩陣的關鍵點在于,我們要知道,矩陣的行就代表坐標系的一個軸(axis/ base)纵散,如果我們需要變換(transform)點或者向量從一個坐標系到另一個坐標系隐圾,我們只需要將心坐標系的每個軸的坐標放入矩陣的行中即可伍掀。

  • 新坐標系的方向(orientation)由旋轉部分決定(rotation)
  • 新坐標系的大小(size)由伸縮部分決定(scale)
  • 新坐標系的位置(position)由平移矩陣決定(translation)
如圖所示:
如何去理解:

假設在 A 坐標系中有一個點 p暇藏,這時候我們將 p 繞著 z 軸旋轉蜜笤,我們先不去想它在 A坐標系 中的變化,而是假設有另一個坐標系(比方說 local coordinate system)盐碱,而這個 local coord system 是和點 p 鉚定的沪伙,p 怎么動,它也怎么動县好,所以 p 相對于 local coord system 的坐標是不變的围橡。
一開始,A坐標系 和 local coord system 是重疊的聘惦,那么當 p 繞 A 坐標系的 z 軸旋轉時某饰, local coord system 做同樣的旋轉,而這個旋轉矩陣每一行就分別對應了這個 local coord system 在 A 坐標系中的xyz軸善绎。

1.2 正交矩陣(Orthogonal Matrix)

行和列正交的矩陣就是正交矩陣

特性:

轉置矩陣(transpose)等于逆矩陣(inverse)


1.3 仿射變換(Affine Transformation)

所謂仿射變換黔漂,歸根結底就是在變換過程中仍然能夠保留直線。
因此禀酱,translation炬守,rotation,shearing 都是仿射變換剂跟。
和仿射變換對應的是投射變換(projective transformation)减途,透視投影(perspective projection)就是投射變換中的一種,很明顯曹洽,這種變換不能保留直線的平行關系鳍置。

2. 點和矩陣的變換

2.1 齊次坐標系(Homogeneous Coordinates)

點的齊次坐標系是將三維坐標加上一個 w=1 作為第四項,得到[x, y, z, 1]
因此送淆,變換矩陣需要加上[0,0,0,1]的第四列税产,但是,這不是唯一情況偷崩,因為在投影矩陣辟拷,錯切矩陣中,第四列有可能是請他情況阐斜,最后得到變換后點的 w 也不再是1衫冻,這時,我們就需要將這個點進行透視分割(perspective divide)谒出,即隅俘,四項都除以w。

2.2 行/列主序向量(Row/Column Major Vector)

row major vector:


column major vector:

還有兩個術語需要注意下笤喳,左乘/前乘(left/ pre-multiplication)和右乘/后乘(right/ post-multiplication)是指向量相對于矩陣的位置为居。
顯然可見,如果是 row major vector莉测,那么就是 left/ pre multiplication,如果是 column major vector唧喉,那么就是 right/ post multiplication捣卤。

關于這一點忍抽,Maya文檔里面是使用錯了的,千萬注意董朝。

2.3 行/列主序矩陣(Row/Column Major Matrix)

從數(shù)學角度上來講鸠项,這兩種矩陣并無差別,只是在表示時候 row major matrix 是 m[row][col]子姜,另一個是 m[col][row]. 他們的差別主要體現(xiàn)在計算機計算性能上.
row major matrix 存儲時是按照行存儲數(shù)據(jù), 而 column major matrix 存儲時是按照列順序存儲.
計算機cpu在訪問一個值時,會將其后面的幾個值也放在cache里面,以[3*1]*[3*3]這樣一個 pre-multiplication 為例,每一次計算新向量中一個成員時是需要訪問矩陣一個列, 采用 column major matrix 能顯著優(yōu)化性能.

2.4 創(chuàng)建一個方向矩陣/局部坐標系(Orientation Matrix/ Local Coordinate System)

我們通常也會稱之為 TNB 坐標系祟绊,即 tangent bitangent normal,無論我們采用左手坐標系還是右手坐標系去將他們標注為 xyz 軸哥捕,只需要記住 normal 叉乘 tagent = bitangent牧抽。
TNB用世界坐標系表示的三個軸可以組成一個矩陣,這個矩陣乘以TNB坐標系內一個點的坐標就可以得到該點世界坐標遥赚。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末扬舒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凫佛,更是在濱河造成了極大的恐慌讲坎,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愧薛,死亡現(xiàn)場離奇詭異晨炕,居然都是意外死亡,警方通過查閱死者的電腦和手機毫炉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門瓮栗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碘箍,你說我怎么就攤上這事遵馆。” “怎么了丰榴?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵货邓,是天一觀的道長。 經(jīng)常有香客問我四濒,道長换况,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任盗蟆,我火速辦了婚禮戈二,結果婚禮上,老公的妹妹穿的比我還像新娘喳资。我一直安慰自己觉吭,他們只是感情好,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布仆邓。 她就那樣靜靜地躺著鲜滩,像睡著了一般伴鳖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上徙硅,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天榜聂,我揣著相機與錄音,去河邊找鬼嗓蘑。 笑死须肆,一個胖子當著我的面吹牛,可吹牛的內容都是我干的桩皿。 我是一名探鬼主播豌汇,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼业簿!你這毒婦竟也來了瘤礁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤梅尤,失蹤者是張志新(化名)和其女友劉穎柜思,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巷燥,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡赡盘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缰揪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陨享。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖钝腺,靈堂內的尸體忽然破棺而出抛姑,到底是詐尸還是另有隱情,我是刑警寧澤艳狐,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布定硝,位于F島的核電站,受9級特大地震影響毫目,放射性物質發(fā)生泄漏蔬啡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一镀虐、第九天 我趴在偏房一處隱蔽的房頂上張望箱蟆。 院中可真熱鬧,春花似錦刮便、人聲如沸空猜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辈毯。三九已至久信,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漓摩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工入客, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留管毙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓桌硫,卻偏偏與公主長得像夭咬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铆隘,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內容