OpenGL七-從矩陣基礎(chǔ)到矩陣與線性變換

矩陣基礎(chǔ)

1.認(rèn)識(shí)矩陣

2.矩陣維度和記法

3.方陣

行數(shù)和列數(shù)相同的矩陣济舆,稱為方陣
我們的課程中,主要討論的范疇就是在 22灾梦、33逮刨、44方陣


方陣的對(duì)角線元素就是方陣的行號(hào)和列號(hào)相同的元素;例如 3
3矩陣M的對(duì)?角線元素為m11 m12 m13 m11、m22瓦糟、m33筒愚。其他元素都是非對(duì)角元素。

思考
下?面A ,B 矩陣那個(gè)是單元矩陣?


4.單位矩陣

單位矩陣菩浙,是一種特殊的對(duì)角矩陣巢掺,n維單位矩陣記做 In。是n * n 矩陣劲蜻。對(duì)象元素為1.其他元素為0陆淀。 例如 3 * 3 單位矩陣


單位矩陣非常特殊,因?yàn)樗蔷仃嚦朔▎挝辉孺遥浠拘再|(zhì)是用任意1個(gè)矩陣乘以單位矩陣轧苫,都將得到原矩陣。所以在某種意義上對(duì)矩陣的作用就猶如1對(duì)于標(biāo)量的作用疫蔓。

5.向量作為矩陣使用

注意: 任意矩陣M, (MT)T = M 對(duì)角矩陣: DT = D,單元矩陣

6 矩陣轉(zhuǎn)置

一個(gè)r * c 矩陣M含懊。M的轉(zhuǎn)置記做MT,是一個(gè) c * r 矩陣衅胀。它的列列由M的?行行組成岔乔。可以從另?面理解滚躯。
MijT = Mji ,即沿著矩陣的對(duì)角線翻折雏门。


對(duì)向量?言嘿歌,轉(zhuǎn)置將使得行向量變成列向量,是列向量變成行向量茁影。


7 標(biāo)量 與 矩陣相乘

8 矩陣與矩陣相乘

一個(gè)R * N的矩陣A 能夠乘以一個(gè) N * C矩陣B = R * C 矩陣
注意:如果 A的N != B的N 則乘法AB就無(wú)意義.

例如宙帝,設(shè)A 為 4 * 2 矩陣,B 為 2 * 5 矩陣募闲,那么結(jié)果AB 為 4 * 5 矩陣步脓。


矩陣相乘法則:對(duì)結(jié)果中的任意元素Cij,取A的第i行和第j列蝇更,將行和列中的對(duì)應(yīng)元素相乘。然后將結(jié)果相加 (等于A的i列列和B的j列列的點(diǎn)積)呼盆。Cij就等于這個(gè)和年扩。


例如


(C的第2?行行第4列列的元素等于A的第2?行行和B的第4列列的點(diǎn)積)


2 * 2 矩陣相乘完整公式


矩陣乘法注意事項(xiàng):
1.任意矩陣M乘以方陣S,不管從哪邊乘访圃,都得到與原矩陣?小相同的矩陣厨幻。當(dāng)然,前提是假定乘法有意義腿时。如果S是單位矩陣况脆,結(jié)果就是原矩陣M,即:MI = IM = M 批糟。
2.矩陣乘法不滿足交換律格了,即:AB != BA
3.矩陣乘法滿足結(jié)合律,即:(AB)C = A(BC)徽鼎。假定ABC的維數(shù)使得其乘法有意義盛末,要注意如果(AB)C有意義,那么A(BC)就一定有意義否淤。
4.矩陣乘法也滿足與標(biāo)量或向量的結(jié)合律悄但,即:(kA)B = k(AB) = A(kB); (vA)B = v(AB);
5.矩陣積的轉(zhuǎn)置相當(dāng)于先轉(zhuǎn)置矩陣然后以相反的順序乘法,即:(AB)T = BT AT

9 向量量與矩陣的乘法

思考
向量量與矩陣相乘結(jié)果是多少?是否具有意義?


向量量與矩陣的乘法詳解


總結(jié)
行向量左乘矩陣時(shí)石抡,結(jié)果是行向量;
列向量右乘矩陣時(shí)檐嚣,結(jié)果是列向量;
?向量右乘矩陣時(shí),結(jié)果是無(wú)意義;
列向量左乘矩陣時(shí)啰扛,結(jié)果是無(wú)意義;

矩陣與向量相乘 注意事項(xiàng):
1.結(jié)果向量中的每個(gè)元素都是原向量與矩陣中單獨(dú)行或列的點(diǎn)積;
2.矩陣一向量乘法滿足對(duì)向量加法的分配律嚎京,對(duì)于向量v,w和矩陣M有,(v + w)M = vM + wM;

10 ?向量與列向量的使用場(chǎng)景

為么要使用行向量?(偏向于書(shū)寫方便)
1.在?字中使用行向量的形式更加好書(shū)寫;
2.?矩陣乘法實(shí)現(xiàn)坐標(biāo)系轉(zhuǎn)換時(shí)隐解,向量左乘矩陣的形式更加方便
3.DirectX使用的是行向量

DirectX是由微軟公司創(chuàng)建的多媒體編程接口挖藏。由C++編程語(yǔ)言實(shí)現(xiàn)。它們旨在使基于Windows的計(jì)算機(jī)成為運(yùn)行和顯示具有豐富多媒體元素(例如全色圖形厢漩、視 頻膜眠、3D 動(dòng)畫和豐富?音頻)的應(yīng)用程序的理想平臺(tái)。DirectX并不是一個(gè)單純的圖形API,它是由微軟公司開(kāi)發(fā)的用途廣泛的API

為么要使用列向量?
1.等式中使用列向量形式更好
2.線性代數(shù)書(shū)中使用列向量
3.多本計(jì)算機(jī)圖形學(xué)都是使用的列向量
4.OpenGL使用的是列向量

矩陣幾何意義

1 矩陣是如何變換成向量的?
?先,向量[1,-3 -4]是如果實(shí)現(xiàn)位移?
位移[1,0,0],隨后位移[0,-3,0],最后位移[0,0,4]


思考
3*3矩陣的9個(gè)數(shù)字之間有么關(guān)系?怎樣構(gòu)建一個(gè)矩陣來(lái)做這個(gè)轉(zhuǎn)換?
思考上?2個(gè)問(wèn)題宵膨,我們可以看一下使用基向量[1,0,0]架谎、[0,1,0]、[0,0,1]乘以矩陣M的情況:


總結(jié):
基向量[1,0,0]乘以矩陣M辟躏,結(jié)果是M的第?行谷扣。后面的2個(gè)?方程也是一樣的規(guī)律。
矩陣的每一個(gè)都能解釋為轉(zhuǎn)換后的基本向量捎琐。


二維矩陣的幾何意義


三維矩陣的幾何意義


總結(jié)
1.方陣的行能被解釋為坐標(biāo)系的基向量;
2.為了了將向量從原坐標(biāo)系變換到新坐標(biāo)系会涎,用它乘以一個(gè)矩陣。
3.從原坐標(biāo)系到這些基向量定義的新坐標(biāo)系的變化是一種線性變換瑞凑。線性變換保持直線和平行線末秃。但角度、長(zhǎng)度籽御、面積或體積可能會(huì)改變练慕。
4.零向量乘以任何矩陣仍然得到零向量。因此技掏,方陣所代表的線性變換的原點(diǎn)和原坐標(biāo)系原點(diǎn)一致铃将。變換不包含原點(diǎn)。
5.可以通過(guò)想象變換后的坐標(biāo)系的基向量來(lái)想象矩陣哑梳。這些基向量在2D中構(gòu)成L形劲阎。在3D構(gòu)成“三角架”型。?一個(gè)盒子以及輔助更有助于理解

矩陣和線性變換
變換物體&變換坐標(biāo)系


變換物體優(yōu)點(diǎn)
變換物體鸠真,是最直接的變化哪工。 ?如,渲染一輛車弧哎,需要將點(diǎn)從車的物體坐標(biāo)變換到世界坐標(biāo)接著到照相機(jī)坐標(biāo)系
將?旋轉(zhuǎn)到世界坐標(biāo)系雁比,在世界坐標(biāo)系中做碰撞檢測(cè),但這需要?量的資源撤嫩。因?yàn)?模型有?量的頂點(diǎn)數(shù)據(jù)偎捎,計(jì)算量偏大。

變換坐標(biāo)系優(yōu)點(diǎn)
?如序攘,如果此時(shí)2臺(tái)車撞擊茴她。 我們知道世界坐標(biāo)中的撞擊位置和撞擊路線。想像一下程奠, 世界坐標(biāo)系被轉(zhuǎn)換到和車的物體坐標(biāo)系重合的位置丈牢,而此時(shí)同時(shí)被撞擊車、車瞄沙、撞擊路線不動(dòng)己沛。這樣就能得到撞擊車和撞擊路線在車的物體坐標(biāo)系的坐標(biāo)慌核。接下來(lái)就 可以判斷是汽車是否相撞。

可以選擇變換物體坐標(biāo)系申尼、也可以選擇變換坐標(biāo)系垮卓。在某一些情況選擇合適的即可。2種變換實(shí)際上等價(jià)的师幕。將物體變換一個(gè)量等價(jià)于將坐標(biāo)系變換一個(gè)相反的量粟按。


三?函數(shù)表


旋轉(zhuǎn)—2D


image.png

旋轉(zhuǎn)—3D


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市霹粥,隨后出現(xiàn)的幾起案子灭将,更是在濱河造成了極大的恐慌,老刑警劉巖后控,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庙曙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡忆蚀,警方通過(guò)查閱死者的電腦和手機(jī)矾利,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門姑裂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)馋袜,“玉大人,你說(shuō)我怎么就攤上這事舶斧⌒辣睿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵茴厉,是天一觀的道長(zhǎng)泽台。 經(jīng)常有香客問(wèn)我,道長(zhǎng)矾缓,這世上最難降的妖魔是什么怀酷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嗜闻,結(jié)果婚禮上蜕依,老公的妹妹穿的比我還像新娘。我一直安慰自己琉雳,他們只是感情好样眠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著翠肘,像睡著了一般檐束。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上束倍,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天被丧,我揣著相機(jī)與錄音盟戏,去河邊找鬼。 笑死晚碾,一個(gè)胖子當(dāng)著我的面吹牛抓半,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播格嘁,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笛求,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了糕簿?” 一聲冷哼從身側(cè)響起探入,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懂诗,沒(méi)想到半個(gè)月后蜂嗽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殃恒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年植旧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片离唐。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡病附,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亥鬓,到底是詐尸還是另有隱情完沪,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布嵌戈,位于F島的核電站覆积,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏熟呛。R本人自食惡果不足惜宽档,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庵朝。 院中可真熱鬧吗冤,春花似錦、人聲如沸偿短。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昔逗。三九已至降传,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勾怒,已是汗流浹背婆排。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工声旺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人段只。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓腮猖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親赞枕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子澈缺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355