前面講了2d情況下的射影幾何和射影變換,我們用到更多的則是3d情況下的射影幾何。這裡只需對一些概念進行推廣即可。對i
p3中的點我們使用乙個4元組x=
(x1,
x2,x
3,x4
)t表示,它與非齊次座標(x,y,z)的關係是 x=
x1x4
,y=x
2x4,
z=x3
x4 在
ip3 中的變換可以用乙個4×
4 的矩陣h表示。即x′
=hx
三維空間中的平面可以寫成 π1
x+π2
y+π3
z+π4
=0考慮到只有係數間的比例關係是有意義的,它的自由度為3。在齊次空間中可以用乙個4維向量表示,即ππ
=(π1
,π2,
π3,π
4)t
(通過替換非齊次座標)寫成平面方程形式為π1
x1+π
2x2+
π3x3
+π4x
4=0
即πtπ
tx=0
ππ 的前三個係數對應著歐氏幾何中平面的法線,使用非齊次座標表示就是n⋅
x~+d
=0。其中n=
(π1,
π2,π
3)t,
x~=(
x,y,
z)t,
x4=1
,d=π
4 。在此形式下,|d
|/||
n|| 是平面到原點的距離。
設有三個不共線的點x1
,x2,
x3,他們都在平面
π 上,則有πt
xi=0
,i=1
,2,3
因此 ⎡⎣
⎢⎢xt
1xt2
xt3⎤
⎦⎥⎥π
=0 x
1,x2
,x3 不共線,故他們線性不相關,因此它們構成的3×
4 矩陣的秩為3。
π 可以從該矩陣的零空間得到。
在二維平面中我們通過l=
x1×x
2 來確定一條直線,類似的,我們也能用更簡單的方法由三點確定乙個平面。
首先我們定義乙個矩陣m=
[x,x
1,x2
,x3]
。其中x為空間中任意一點。x1
,x2,
x3為用來確定平面
π 的3點。
顯然,對於平面上一點x=
[x1,
x2,x
3,x4
] ,它必能被x1
,x2,
x3線性表出,從而有det m = 0。
從第一列對det m展開有de
tm=x
1d234−x2
d134+x
3d124−x4
d123
。其中dj
kl是由矩陣[x
1,x2
,x3]
的jkl行組成的新矩陣。由於det m = 0,可以得到 π=
(d234,−d
134,
d124,−
d123)t
這也是之前平面所滿足的方程的解。
將空間點x表示為x=
[x~1
]t,x~=
[xyz
]t。則有
d234=∣
∣∣∣y
1−y3
z1−z
30y2
−y3z
2−z3
0y3z
31∣∣
∣∣=(
(x1~
−x2~
)×(x
2~−x
3~))
1 對其他的係數也有相似的結果,於是 π=
[(x1
~−x2
~)×(
x2~−
x3~)
−xt3
~(x1
~×x2
~)]
其中(x1
~−x2
~)×(
x2~−
x3~)
為平面的法線。π′
=h−t
π 對平面π
上一點x可以使用引數方程表示,即 x=
mxx為自變數,m為與
π 對應的引數,有πt
m=0 。設π=
(a,b
,c,d
)t,則它的引數矩陣的轉置mt
=[p|
i3×3
],p=
(−b/
a,−c
/a,−
d/a)
t
三維空間中剛體的旋轉
從零開始一起學習slam 三維空間剛體的旋轉 剛體 本身不會在運動過程中產生形變的物體,運動過程中同乙個向量的長度和夾角都不會發生變化。剛體變換也稱歐式變換。1 是重點!2 旋轉矩陣不是一般矩陣,它有比較強的約束條件。旋轉矩陣r具有正交性,r和r的轉置的乘積是單位陣,且行列式值為1。3 旋轉矩陣r的...
三維空間中的旋轉變換
1 繞座標軸旋轉的公式 1 繞z軸旋轉 2 繞x軸旋轉 3 繞y軸旋轉 以上的矩陣變換公式為 p p mat 2 繞任意軸旋轉的公式 給定具有單位長的 oa軸旋轉變換的矩陣表示可確定如下 3 繞任意軸旋轉在ogre中實現 ogre matrix3 i ogre matrix3 identity og...
三維空間剛體旋轉
剛體 運動過程中不會產生形變的物體,運動過程中同乙個向量的長度和夾角都不會發生變化。剛體變換也稱為歐式變換。旋轉矩陣 四元數旋轉向量 尤拉角安裝方式 eigen庫只有標頭檔案,沒有.so和.a二進位制檔案,所以在cmakelists.txt中只需要新增標頭檔案路徑,並不需要使用target link...