1.標(biāo)量與向量相乘
k * [x, y, z] = [x, y, z] * k = [kx, ky, kz]
2.向量與標(biāo)量相除等于向量乘以標(biāo)量的 1/k
[x, y, z] / k = [1/kx, 1/ky, 1/k*z]
結(jié)論:標(biāo)量與向量相乘相除幾何意義是對(duì)向量的放大縮小--縮放
3. 向量加減法
[x1, y1, z1] + [x2, y2, z2] = [x1+x2, y1+y2, z1+z2]
[x1, y1, z1] -[x2, y2, z2] = [x1-x2, y1-y2, z1-z2]
結(jié)論:向量與向量加減法的幾何意義是--平移
結(jié)論:
1.向量不能與標(biāo)量相加減身腻,沒有意義
2.向量不能與不同維度的向量相加減
4.向量點(diǎn)乘幾何意義-獲取角度
a.b可以通過公式計(jì)算兩個(gè)向量之間的角度-點(diǎn)乘必須是單位向量
5.向量叉乘的幾何意義-獲取垂直與a和b的向量
ab指向該平面的正上方猛蔽,垂直于a和b腕侄,ab的長度等于向量的大小與向量夾角sin值的積 ab = ||a||||b||*sin(ab夾角)
6. 單元矩陣
1.單元矩陣,行列相等张漂,坐上到右下對(duì)角線位置為1,其余全是0
二維單元矩陣
1 0
0 1
三維單元矩陣
1 0 0
0 1 0
0 0 1
四維單元矩陣
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
結(jié)論
單元矩陣非常特殊谨娜,因?yàn)樗蔷仃嚦朔▎挝辉樾猓浠拘再|(zhì)是用任意1個(gè)矩陣乘以單元矩陣,都將得到原矩陣瞧预。所以在某種意義上對(duì)矩陣的作用猶如1對(duì)標(biāo)量的作用
7.方陣
行數(shù)和列數(shù)相同的矩陣,成為方陣仅政,OpenGL里面主要討論的范疇是 22 33 4*4方陣垢油,單元矩陣是一種特殊的方陣
8.向量與矩陣
1.向量是特殊的矩陣,行向量x, y, z可以看做1行3列的矩陣圆丹,列向量x, y, z可以看做3行1列的矩陣
9.矩陣轉(zhuǎn)置
行變列滩愁,列變行,轉(zhuǎn)置的轉(zhuǎn)置就是原矩陣
10.矩陣相乘
矩陣相乘規(guī)則辫封,矩陣A * 矩陣B硝枉, A的列==B的行,的出來的矩陣是一個(gè)A行B列矩陣倦微,每一個(gè)矩陣元素的值是有一定的運(yùn)算規(guī)則
舉例
A 3行4列 B 4行9列妻味,A * B = 得出一個(gè)3行9列的矩陣
3行3列方陣3行3列方陣=得出相同3行3列方陣
3行8列 8行8列=3行8列
8行8列 *8行3列=8行3列
結(jié)論:
矩陣相乘的幾何意義就是記錄變化
矩陣乘法注意事項(xiàng)
1.任意矩陣M乘以方陣S,不管從哪邊乘欣福,都得到與原矩陣大小相同的矩陣责球,當(dāng)然,前提是假定乘法有意義拓劝,當(dāng)然雏逾,每個(gè)元素的值是按照一定規(guī)則計(jì)算的,如果S是單元矩陣郑临,結(jié)果就是原矩陣M栖博,每個(gè)元素的值保持不變
2.矩陣乘法不滿足較好綠 AB=!BA
3.矩陣乘法滿足結(jié)合律 即(AB)C=A(BC),假定ABC的維度使得其乘法有意義厢洞,要注意如果(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 T是上標(biāo)
向量與矩陣的乘法詳解
?向量左乘矩陣時(shí)妹孙,結(jié)果是?向量;
列向量右乘矩陣時(shí),結(jié)果是列向量;
?行向量右乘矩陣時(shí)获枝,結(jié)果是?意義;
列向量左乘矩陣時(shí)蠢正,結(jié)果是?意義;
矩陣與向量相乘 注意事項(xiàng):
1.結(jié)果向量中的每個(gè)元素都是原向量與矩陣中單獨(dú)?或列的點(diǎn)積;
2.矩陣?向量乘法滿?對(duì)向量加法的分配律,對(duì)于向量v,w 和 矩陣M 有省店,
(v + w)M = vM + wM;
11.行向量與列向量的使用場景
為什么要使??向量?(偏向于書寫方便)
1.在?字中使??向量的形式更加好書寫;
2.用矩陣乘法實(shí)現(xiàn)坐標(biāo)系轉(zhuǎn)換時(shí)嚣崭,向量左乘矩陣的形式更加方便
3.DirectX使?的是?向量
為什么要使用列向量?
1.等式中使用列向量形式更好
2.線性代數(shù)書中使用列向量
3.多本計(jì)算機(jī)圖形學(xué)都是使用的列向量
4.OpenGL 使?的是列向量
矩陣幾何意義
12.平移笨触、縮放、旋轉(zhuǎn)
1.?陣的?能被解釋為坐標(biāo)系的基向量;
2.為了將向量從原坐標(biāo)系變換到新坐標(biāo)系雹舀,用它乘以一個(gè)矩陣芦劣。
3.從原坐標(biāo)系到這些基向量定義的新坐標(biāo)系的變化是?種線性變換。線性變換保持直線和平行線说榆。但?度虚吟、?度 面積或體積可能會(huì)改變。
4.零向量乘以任何矩陣仍然得到零向量签财。因此串慰,?陣所代表的線性變換的原點(diǎn)和原坐標(biāo)系原點(diǎn)一致。變換不包含 原點(diǎn)唱蒸。
5.可以通過想象變換后的坐標(biāo)系的基向量來想象矩陣邦鲫。這些基向量在2D中構(gòu)成L形。在3D構(gòu)成“三角架”型神汹。?? 個(gè)盒?以及輔助更有助于理解
12. 3D旋轉(zhuǎn) 圍繞X軸旋轉(zhuǎn)-沿著x正向順時(shí)針旋轉(zhuǎn)
想讓一個(gè)圖形在3D中圍繞X軸旋轉(zhuǎn)?度庆捺,可以將矩陣與下面這個(gè)矩陣相乘
1 0 0
0 cos? sin?
0 -sin? cos?
物體坐標(biāo)系 x正向左,y正向上屁魏,z正向里
13. 3D旋轉(zhuǎn) 圍繞Y軸旋轉(zhuǎn)-沿著Y正向順時(shí)針旋轉(zhuǎn)
想讓一個(gè)圖形在3D中圍繞Y軸旋轉(zhuǎn)?度滔以,可以將矩陣與下面這個(gè)矩陣相乘
cos? 0 -sin?
0 1 0
sin? 0 cos?
物體坐標(biāo)系 x正向左,y正向上蚁堤,z正向里
14. 3D旋轉(zhuǎn) 圍繞Z軸旋轉(zhuǎn)-沿著Z正向順時(shí)針旋轉(zhuǎn)
想讓一個(gè)圖形在3D中圍繞Z軸旋轉(zhuǎn)?度醉者,可以將矩陣與下面這個(gè)矩陣相乘
cos? sin? 0
-sin? cos? 0
0 0 1
物體坐標(biāo)系 x正向左,y正向上披诗,z正向里
15. 3D旋轉(zhuǎn) 圍繞n軸旋轉(zhuǎn)?度
想讓一個(gè)圖形在3D中圍繞n軸旋轉(zhuǎn)?度矩陣變換如下值
nx2(1-cos?)+cos? nxny(1-con?)+nzsin? nxnz(1-cos?)-nySin?
nxny(1-cos?)-nzsin? ny2(1-con?)+cos? nynz(1-cos?)-nxSin?
nxnz(1-cos?)+nycos? nynz(1-con?)+nxsin? nz2(1-cos?)+cos?
其中x,y,z為下標(biāo)撬即,2為上標(biāo)