4 4(齊次)矩陣

2022-06-18 10:00:14 字數 1368 閱讀 8798

4*4矩陣一般也叫齊次矩陣,主要有兩個作用,描述平移變換,描述透視投影變換

3*3矩陣可以用來旋轉,縮放座標系,但不能移動座標系

需要在4維空間切變實現3維平移(比較容易理解的是在3維空間實現2維平移)

而4*4平移矩陣不會影響旋轉,縮放功能,所以4*4矩陣能包含旋轉,縮放,平移座標系功能

4d向量中w分量能「開關」4*4矩陣的平移部分,有些向量代表位置,應當平移,有些向量代表方向(如表面法向量),從幾何意義上說,第一類資料當作點,第二類當作向量

比正常向量多了1維w,xyz除w即可轉換成正常向量描述

上面公式左邊對應圖1笛卡爾座標系,右邊對應圖2圖3齊次座標系 ,兩者通過除w轉換,描述空間座標的兩種方法,齊次座標主要描述透視關係

用來做透視投影轉換,非線性變換

原始笛卡爾座標p1

從笛卡爾座標計算透視投影對映後p2

然後從這個p2找到p2的齊次座標描述p3

然後根據原始p1的座標和p3的齊次座標構建乙個直接從p1到p3的轉換矩陣m(透視投影矩陣)

所以p1或者其他任何笛卡爾座標系中的點d1乘以m完成了2件事,

1計算出了投影後的座標d3,2並且這個d3座標用齊次座標描述

d3向笛卡爾座標系轉換只需要xyz除w

既然對於任何一點,這個矩陣都能轉換成投影後的齊次座標描述,那麼相當於這個矩陣把原來的(相機)笛卡爾座標系轉換到了(透視,裁剪)齊次座標系描述

(旋轉矩陣就是這個道理,可以理解為點旋轉,也可以理解為點不動座標軸旋轉後,在新的座標係對原來點位置重新描述)

把投影過程表示為變換,可以跟4*4矩陣進行乘法連線,表示多個變換的組合

縮放矩陣只能做線性投影,而4*4齊次矩陣可以做非線性的透視投影

opengl描述

透視投影的目的就是將上面的稜臺轉換為乙個立方體(cuboid),轉換後,稜臺的前剪裁平面的右上角點變為立方體的前平面的中心(下圖中弧線所示)。由圖可知,這個變換的過程是將稜臺較小的部分放大,較大的部分縮小,以形成最終的立方體。這就是投影變換會產生近大遠小的效果的原因。變換後的x座標範圍是[-1, 1],y座標範圍是[-1, 1],z座標範圍是[0, 1](opengl略有不同,z值範圍是[-1, 1])。

具體方法

六 矩陣按鍵(4 4)

矩陣鍵盤 掃瞄法 例程 功能 按下按鍵 數碼管顯示 0 1 2 3 4 5 6 7 8 9 a b c d e f include sbit fmq p3 6 char duan 0123456789abcdef void delayms unsigned int i void delay500us...

齊次線性方程中,齊次和線性的含義

線性函式 對映 f a rightarrow b 為兩個 標量 向量 空間 a,b 的對應關係,在微積分,解析幾何等相關領域中,線性函式 function 是乙個一次或者少於一次的多項式,對於單一變數如 f f x lx m,forall x in r 或多變數的函式,其中 l,m 為已知定常數,由...

矩陣快速冪 求解常係數齊次線性遞推式

先說矩陣a的n次冪 an 的快速冪的求法 因為矩陣乘滿足結合律,所以矩陣的快速冪和前面普通快速冪原理都一樣,主要在於矩陣乘法的運算 1.1 直接模擬矩陣乘 m行 用結構體存矩陣 乙個結構體可以直接賦值另乙個結構體 struct mat mat init mat mat mul mat a,mat b...