3D射影几何与变换
点和射影变换
- 齐次向量 X = ( X 1 , X 2 , X 3 , X 4 ) T , X 4 ≠ 0 \pmb X=(X_1,X_2,X_3,X_4)^T,X_4 \neq 0 X=(X1,X2,X3,X4)T,X4=0表示 I R 3 IR^3 IR3中非齐次坐标 ( X , Y , Z ) T (X,Y,Z)^T (X,Y,Z)T的点, X 4 = 0 X_4=0 X4=0表示无穷远点
- I P 3 IP^3 IP3上的射影变换: X ′ = H X \pmb X^\prime = H \pmb X X′=HX
平面、直线和二次曲面的表示和变换
在 I P 3 IP^3 IP3中,点和平面对偶,直线自对偶
平面
在
I
R
3
IR^3
IR3中,平面表示为
π
1
X
+
π
2
Y
+
π
3
Z
+
π
4
=
0
\pi_1 X + \pi_2Y+\pi_3Z+\pi_4=0
π1X+π2Y+π3Z+π4=0
用
X
→
X
1
/
X
4
,
Y
→
X
2
/
X
4
,
Z
→
X
3
/
X
4
X\rightarrow X_1/X_4,Y\rightarrow X_2/X_4,Z\rightarrow X_3/X_4
X→X1/X4,Y→X2/X4,Z→X3/X4替换后
π
1
X
1
+
π
2
X
2
+
π
3
X
3
+
π
4
X
4
=
0
⟺
π
T
X
=
0
\pi_1 X_1 + \pi_2 X_2 + \pi_3 X_3 + \pi_4X_4=0 \iff \pmb \pi^T \pmb X=0
π1X1+π2X2+π3X3+π4X4=0⟺πTX=0
表示点在平面上,
π
\pi
π的前三个分量对应于欧氏几何中平面的法线,用非齐次记号,上式就变成了常见的
n
⋅
X
~
+
d
=
0
\pmb n \cdot \widetilde X + d = 0
n⋅X
+d=0,
d
/
∥
n
∥
d / \parallel n \parallel
d/∥n∥是原点到平面的距离
- 三点确定一个平面
通过求解矩阵的一维零空间来确定
[ X 1 T X 2 T X 3 T ] π = 0 \begin{bmatrix} \pmb X_1^T \\ X_2^T \\X_3^T \end{bmatrix} \pmb \pi = 0 X1TX2TX3T π=0 - 三平面确定一点
与三点确定一平面对偶
[ π 1 T π 2 T π 3 T ] X = 0 \begin{bmatrix} \pmb \pi_1^T \\ \pmb \pi_2^T \\ \pmb \pi_3^T \\ \end{bmatrix} \pmb X=0 π1Tπ2Tπ3T X=0 - 平面的射影变换: π ′ = H − T π \pmb \pi^\prime =H^{-T}\pmb \pi π′=H−Tπ
- 平面上的点的参数表示: X = M x \pmb X =M \pmb x X=Mx,其中 π T M = 0 T \pmb \pi^T M = \pmb 0^T πTM=0T, M M M是 4 × 3 4 \times 3 4×3的矩阵, x \pmb x x是三维向量
直线
由于直线有 4 4 4个自由度,如果使用齐次坐标,需要用 5 5 5维齐次向量表示。所以表达形式比较复杂。
I.零空间与生成子空间表示
把直线表示成两向量的生成子空间
-
A
,
B
\pmb A, \pmb B
A,B是两个不重合的空间点
W = [ A T B T ] W = \begin{bmatrix} \pmb A^T \\ \pmb B^T \end{bmatrix} W=[ATBT]- W T W^T WT的生成子空间是在直线 λ A + μ B \lambda \pmb A + \mu \pmb B λA+μB上的点束
- W W W的 2 2 2维右零空间生成子空间是以直线为轴的平面束
-
P
,
Q
\pmb P,\pmb Q
P,Q是空间中的两个平面
W ∗ = [ P T Q T ] W^* = \begin{bmatrix} P^T \\ Q^T \end{bmatrix} W∗=[PTQT]- W ∗ T W^{*T} W∗T的生成子空间是以该直线为轴的平面束 λ ′ P + μ ′ Q \lambda^\prime \pmb P+ \mu^\prime \pmb Q λ′P+μ′Q
- W ∗ W^* W∗的2维零空间的生成子空间是该直线上的点束
II.Plucker矩阵
直线由 4 × 4 4 \times 4 4×4反对称齐次矩阵表示。
- 连接 A , B A,B A,B两点的直线为
L = A B T − B A T L = \pmb A \pmb B^T - \pmb B \pmb A^T L=ABT−BAT
平面
π
\pi
π和直线
L
L
L确定的点为
X
=
L
π
\pmb X = L \pmb \pi
X=Lπ
在点变换 X ′ = H X X^\prime = HX X′=HX下,矩阵变换为 L ′ = H L H T L^\prime = HLH^T L′=HLHT
- 两平面
P
,
Q
\pmb P,\pmb Q
P,Q交线确定的直线为
L ∗ = P Q T − Q P T L^* = \pmb P \pmb Q^T - \pmb Q \pmb P^T L∗=PQT−QPT
点 X X X和直线 L L L确定的平面为
π = L ∗ X \pmb \pi = L^* \pmb X π=L∗X
在点变换 X ′ = H X X^\prime = HX X′=HX下,矩阵变换为 L ∗ ′ = H − T L ∗ H − 1 L^{*\prime}= H^{-T}L^* H^{-1} L∗′=H−TL∗H−1
III.Plucker直线坐标
Plucker直线坐标是
4
×
4
4\times 4
4×4反对称矩阵Plucker矩阵
L
L
L的6个非零元素
L
=
{
l
12
,
l
13
,
l
14
,
l
23
,
l
43
,
l
34
}
\mathcal L = \{l_{12},l_{13},l_{14},l_{23},l_{43},l_{34}\}
L={l12,l13,l14,l23,l43,l34}
因为它是六维齐次向量,直线有5个自由度,所以
d
e
t
L
=
0
det \mathcal L = 0
detL=0。只有当
d
e
t
L
=
0
det \mathcal L = 0
detL=0时,它才对应于一条3D直线。
假定
L
,
L
^
\mathcal L , \hat{\mathcal L}
L,L^分别由连接
A
,
B
A,B
A,B和
A
^
,
B
^
\hat A,\hat B
A^,B^产生。两直线相交的充要条件是
d
e
t
[
A
,
B
,
A
^
,
B
^
]
=
l
12
l
^
34
+
l
^
12
l
34
+
l
13
l
^
42
+
l
^
13
l
42
+
l
14
l
^
23
+
l
^
14
l
23
=
(
L
∣
L
^
∣
)
det [A,B,\hat A,\hat B] = l_{12}\hat l_{34}+\hat l_{12}l_{34} +l_{13} \hat l_{42}+ \hat l_{13}l_{42}+l_{14} \hat l_{23}+ \hat l_{14}l_{23} = (\mathcal L \mid \hat {\mathcal L} \mid)
det[A,B,A^,B^]=l12l^34+l^12l34+l13l^42+l^13l42+l14l^23+l^14l23=(L∣L^∣)
- 两直线共面的充要条件是 ( L ∣ L ^ ∣ ) = 0 (\mathcal L \mid \hat{\mathcal L} \mid ) = 0 (L∣L^∣)=0
- 假定
L
,
L
^
\mathcal L , \hat{\mathcal L}
L,L^分别是平面
P
,
Q
P,Q
P,Q和
P
^
,
Q
^
\hat P ,\hat Q
P^,Q^的交线,则
( L ∣ L ^ ∣ ) = d e t [ P , Q , P ^ , Q ^ ] (\mathcal L \mid \hat{\mathcal L} \mid ) = det[P,Q,\hat P,\hat Q] (L∣L^∣)=det[P,Q,P^,Q^]
两直线相交则 ( L ∣ L ^ ∣ ) = 0 (\mathcal L \mid \hat{\mathcal L} \mid ) = 0 (L∣L^∣)=0 - 假定
L
\mathcal L
L是平面
P
,
Q
P,Q
P,Q的交线,
L
^
\hat{\mathcal L}
L^是亮点
A
,
B
A,B
A,B的连线,则
( L ∣ L ^ ∣ ) = ( P T A ) ( Q T B ) − ( Q T A ) ( P T B ) (\mathcal L \mid \hat{\mathcal L} \mid ) = (P^TA)(Q^TB) - (Q^TA)(P^TB) (L∣L^∣)=(PTA)(QTB)−(QTA)(PTB)
二次曲面与对偶二次曲面
X T Q X = 0 \pmb X^T Q \pmb X = 0 XTQX=0
- 一个二次曲面有 9 9 9个自由度。对应于 4 × 4 4 \times 4 4×4对称矩阵的 10 10 10个独立元素因为全局尺度减去一个自由度
- 一般位置上的 9 9 9个点确定一个二次曲面
- 如果矩阵 Q Q Q是奇异的,那么二次曲面是退化的,并可由较少的点确定
- 二次曲面定义了点和平面之间的一种配极。平面 π = Q X \pi = QX π=QX是 X X X关于 Q Q Q的极平面。
- 平面 π \pi π与二次曲面 Q Q Q的交线是二次曲线 C C C,其中 X T Q X = ( x T M T ) Q ( M x ) = x T M T Q M x = 0 , C = M T Q M X^TQX= (x^TM^T)Q (Mx)=x^TM^TQMx=0,C=M^TQM XTQX=(xTMT)Q(Mx)=xTMTQMx=0,C=MTQM
- 在点变换 X ′ = H X X^\prime = HX X′=HX下,二次曲面变换为 Q ′ = H − T Q H − 1 Q^\prime = H^{-T} Q H^{-1} Q′=H−TQH−1
二次曲面的分类
Q = U T D U Q = U^TDU Q=UTDU, σ ( D ) \sigma(D) σ(D)表示 D D D中 + 1 +1 +1与 − 1 -1 −1个数的差。
三次绕线
三次绕线是 2 D 2D 2D二次曲线的 3 D 3D 3D类推
2
D
2D
2D射影平面上的一条二次曲线可以描述为
[
x
1
x
2
x
3
]
=
A
[
1
θ
θ
2
]
\begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \pmb A \begin{bmatrix} 1 \\ \theta \\ \theta^2 \end{bmatrix}
x1x2x3
=A
1θθ2
一条三次绕线定义为
[
x
1
x
2
x
3
x
4
]
=
A
[
1
θ
θ
2
θ
3
]
\begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{bmatrix} = \pmb A \begin{bmatrix} 1 \\ \theta \\ \theta^2 \\ \theta^3 \end{bmatrix}
x1x2x3x4
=A
1θθ2θ3
- 一条三次绕线有12个自由度( 16 − 1 ( 自由度 ) − 3 ( 参数 θ ) 16-1(自由度)-3(参数\theta) 16−1(自由度)−3(参数θ))
- 过一般位置的 6 6 6点有唯一的三次绕线。
变换的层次
群 | 矩阵 | 不变性质 |
---|---|---|
射影 15 d o f 15dof 15dof | [ A t v T v ] \begin{bmatrix} A & t \\v^T &v\end{bmatrix} [AvTtv] | 接触表面的相交和相切,高斯曲率的符号 |
仿射 12 d o f 12dof 12dof | [ A t 0 T 1 ] \begin{bmatrix} A & t \\ 0^T &1\end{bmatrix} [A0Tt1] | 平面的平行性,体积比,形心,无穷远平面 π ∞ \pi_\infty π∞ |
相似 7 d o f 7dof 7dof | [ s R t 0 T 1 ] \begin{bmatrix} sR & t \\ 0^T &1\end{bmatrix} [sR0Tt1] | 绝对二次曲线 Ω ∞ \Omega_\infty Ω∞ |
欧式 6 d o f 6dof 6dof | [ R t 0 T 1 ] \begin{bmatrix} R & t \\ 0^T &1\end{bmatrix} [R0Tt1] | 体积 |
任何具体的平移加旋转运动等价于绕一根螺旋轴的旋转加沿该陀螺轴的平移。
无穷远平面
在 3 D 3D 3D空间的射影几何中,与 I ∞ I_\infty I∞和虚圆点对应的几何实体是无穷远平面 π ∞ \pi_\infty π∞和绝对二次曲线 Ω ∞ \Omega_\infty Ω∞
- 两个平面平行的充要条件是它们的交线在 π ∞ \pi_\infty π∞上
- 如果一条直线与另一条之间或一个平面相交在 π ∞ \pi_\infty π∞上,则它们相平行
- 在射影变换
H
H
H下,无穷远平面
π
∞
\pi_\infty
π∞是不动平面的充要条件是:
H
H
H是一个仿射变换
- 在仿射变换下平面 π ∞ \pi_\infty π∞作为一个集合是不动的,但不是点点不动
- 在某个具体的仿射变换下,可能存在除去 π ∞ \pi_\infty π∞外的某些平面保持不动的情况
绝对二次曲线
绝对二次曲线
Ω
∞
\Omega_\infty
Ω∞是在
π
∞
\pi_\infty
π∞上的一条二次曲线,它的坐标满足
x
1
2
+
x
2
2
+
x
3
2
=
0
,
x
4
=
0
x_1^2+x_2^2+x_3^2 = 0,x_4 = 0
x12+x22+x32=0,x4=0
- 在射影变换 H H H下,绝对二次曲线 Ω ∞ \Omega_\infty Ω∞是不动二次曲线的充要条件是 H H H是相似变换
- Ω ∞ \Omega_\infty Ω∞在一般相似变换下是集合不动,而不是点点不动
- 所有的圆交 Ω ∞ \Omega_\infty Ω∞于两点。假设圆的支撑平面是 π \pi π, π \pi π交 π ∞ \pi_\infty π∞于一条直线,该直线交绝对二次曲线于两点
- 所有的球面交 π ∞ \pi_\infty π∞于 Ω ∞ \Omega_\infty Ω∞
度量性质
一旦 Ω ∞ \Omega_\infty Ω∞在 3 D 3D 3D射影空间中被辨认,那么诸如夹角和相对长度等度量性质可以被测定。
设两条直线为
d
1
,
d
2
d_1,d_2
d1,d2
cos
θ
=
d
1
T
Ω
∞
d
2
(
d
1
T
Ω
∞
d
1
)
(
d
2
T
Ω
∞
d
2
)
\cos \theta = \frac{d_1^T \Omega_\infty d_2}{ \sqrt{(d_1^T \Omega_\infty d_1)(d_2^T \Omega_\infty d_2)}}
cosθ=(d1TΩ∞d1)(d2TΩ∞d2)d1TΩ∞d2
正交与配极
由度量性质可知,如果 d 1 T Ω ∞ d 2 = 0 d_1^T \Omega_\infty d_2 = 0 d1TΩ∞d2=0,则 d 1 , d 2 d_1,d_2 d1,d2垂直,垂直性可由关于 Ω ∞ \Omega_\infty Ω∞的共轭性表示。
绝对对偶二次曲面
绝对二次曲线
Ω
∞
\Omega_\infty
Ω∞的对偶是
3
D
3D
3D空间中一种退化的对偶二次曲面,称为绝对对偶二次曲面并记为
Q
∞
∗
Q_\infty^*
Q∞∗。几何上,
Q
∞
∗
Q_\infty^*
Q∞∗由
Ω
∞
\Omega_\infty
Ω∞的切平面组成,是其边缘,所以被称为边二次曲面
Q
∞
∗
=
[
I
0
0
T
0
]
Q_\infty^* = \begin{bmatrix} I &0 \\ 0^T &0\end{bmatrix}
Q∞∗=[I0T00]
-
在射影变换 H H H下,绝对二次曲面 Q ∞ ∗ Q_\infty^* Q∞∗不动的充要条件是 H H H是相似变换
-
无穷远平面 π ∞ \pi_\infty π∞是 Q ∞ ∗ Q_\infty^* Q∞∗的零向量
-
两平面 π 1 , π 2 \pi_1,\pi_2 π1,π2的夹角为
cos θ = π 1 T Q ∞ ∗ π 2 ( π 1 T Q ∞ ∗ π 1 ) ( π 2 T Q ∞ ∗ π 2 ) \cos \theta = \frac{\pi_1^T Q_\infty^* \pi_2}{\sqrt{(\pi_1^T Q_\infty^* \pi_1)(\pi_2^T Q_\infty^* \pi_2)}} cosθ=(π1TQ∞∗π1)(π2TQ∞∗π2)π1TQ∞∗π2