矩陣基礎(chǔ)
1.認(rèn)識(shí)矩陣
2.矩陣維度和記法
3.方陣
行數(shù)和列數(shù)相同的矩陣济舆,稱為方陣
我們的課程中,主要討論的范疇就是在 22灾梦、33逮刨、44方陣
方陣的對(duì)角線元素就是方陣的行號(hào)和列號(hào)相同的元素;例如 33矩陣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
旋轉(zhuǎn)—3D