3 Projective Geometry and Transformations of 3D
这章主要讲的是3D的射影几何,与2D的射影几何差不多。主要区别是:
-
3D射影几何对偶的是点和平面,直线是自对偶的。
-
3D空间中直线有4个自由度,这一现象并不是那么容易直接得出。一种方法是把直线用正交平面两个交点表示。
文章目录
- [3 Projective Geometry and Transformations of 3D](#3 Projective Geometry and Transformations of 3D)
-
- [3.1 Points and projective transformations](#3.1 Points and projective transformations)
- [3.2 Representing and transforming planes, lines and quadrics](#3.2 Representing and transforming planes, lines and quadrics)
-
- [3.2.1 Planes](#3.2.1 Planes)
- [3.2.2 Lines](#3.2.2 Lines)
- [3.2.3 Quadrics and dual quadrics](#3.2.3 Quadrics and dual quadrics)
-
- [3.2.4 Classification of quadrics](#3.2.4 Classification of quadrics)
- [3.4 The hierarchy of transformations](#3.4 The hierarchy of transformations)
- [3.5 The plane at infinity](#3.5 The plane at infinity)
- [3.6 The absolute conic](#3.6 The absolute conic)
- [3.7 The absolute dual quadric](#3.7 The absolute dual quadric)
3.1 Points and projective transformations
三维空间的齐次坐标就是 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,比二维空间多一个。 x 4 x_4 x4一般是1,如果是0那就代表无穷远的点。
三维空间投影矩阵 H H H是 4 × 4 4 \times 4 4×4的,有15个自由度。
3.2 Representing and transforming planes, lines and quadrics
三维投影空间中点和面是对偶的。也就是说它们可以互相交换运算中的位置。
3.2.1 Planes
三维空间面就是:
π 1 X + π 2 Y + π 3 Z + π 4 = 0 \pi_1 X + \pi_2 Y +\pi_3 Z + \pi_4 = 0 π1X+π2Y+π3Z+π4=0
π 1 , π 2 , π 3 \pi_1,\pi_2,\pi_3 π1,π2,π3就是平面的法向量。
相交关系
- 三点确定一个平面
- 两个相交平面确定一个线
- 三个相交平面确定一个点
下面来讨论这几个关系的代数表述。
三个点确定一平面 我们假设点是 X i X_i Xi, 平面式 π \pi π
确定平面需要解以下方程:
[ X 1 T X 2 T X 3 T ] π = 0 \left[ \begin{matrix} X_1^T \\ X_2^T \\ X_3^T \\ \end{matrix} \right] \pi = 0 X1TX2TX3T π=0
书中p67 3.4式给了一个解析解。
三个平面确定一个点 把上述方程点和面的位置换一下就行。
[ π 1 T π 2 T π 3 T ] X = 0 \left[ \begin{matrix} \pi_1^T \\ \pi_2^T \\ \pi_3^T \\ \end{matrix} \right] X = 0 π1Tπ2Tπ3T X=0
3.2.2 Lines
线段在三维空间中表示比较尴尬,因为点和面是对偶的,如果要表示线,那就需要5维向量。本节介绍了3种方法,我们掌握一种就可以了。
零空间理论 我们假设 A , B A,B A,B是两个点,经过这两个点的直线除了叉乘,还可以表示为:
W = [ A T B T ] W= \left[ \begin{matrix} A^T\\ B^T \end{matrix} \right] W=[ATBT]
那么把 A , B A,B A,B换成平面,上式就是两个平面相交形成的点。
3.2.3 Quadrics and dual quadrics
三维空间中的二次曲面定义如下:
X T Q X = 0 X^T Q X = 0 XTQX=0
Q是一个 4 × 4 4 \times 4 4×4的对称矩阵,主要有以下性质:
- Q有9个自由度
- 8个点确定一个二次曲面
- Q如果是奇异矩阵,那么二次曲面退化了
- 二次曲面可以确定一个点和一个极平面 π = Q X \pi=QX π=QX
- 平面 π \pi π和Q的交线就是圆锥
- 如果点变换是 X ′ = H X X'=HX X′=HX,那么Q上的点就会被变换成 Q ′ = H − T Q H − 1 Q'=H^{-T} Q H^{-1} Q′=H−TQH−1
- Q Q Q的对偶定义为 Q ∗ Q^* Q∗,是由与Q相切的面组成的
3.2.4 Classification of quadrics
3.4 The hierarchy of transformations
- 投影变换15个自由度,不变量是相交的平面、垂直的平面
- 仿射变换12个自由度,不变量是平行的平面、体积之间的比例、无穷远处的平面.
- 相似变换7个自由度,不变量是无穷远处的圆锥
- 刚体变换6个自由度,不变量是体积
3.5 The plane at infinity
我们记得在二维投影空间中有一个无穷远的直线 l ∞ l_{\infty} l∞,那么类似地,在三维投影空间就有一个无穷远平面 π ∞ \pi_{\infty} π∞,在该平面上还有一个绝对圆锥 Ω ∞ \Omega_{\infty} Ω∞
- π ∞ \pi_{\infty} π∞是两个平行平面的交点
- 平行线的交点在 π ∞ \pi_{\infty} π∞上,与平面平行的直线也在 π ∞ \pi_{\infty} π∞上
结论3.7 无穷远平面在投影变换下保持不变当且仅当该变换是仿射变换。
3.6 The absolute conic
绝对圆锥 Ω ∞ \Omega_{\infty} Ω∞是 π ∞ = ( 0 , 0 , 0 , 1 ) \pi_{\infty}=(0,0,0,1) π∞=(0,0,0,1) 上的圆锥,满足:
X 1 2 + X 2 2 + X 3 2 = 0 X 4 2 = 0 X_1^2 + X_2^2 + X_3^2 = 0 \\ X_4^2=0 X12+X22+X32=0X42=0
写成圆锥表达式就是:
( X 1 , X 2 , X 3 ) I ( X 1 , X 2 , X 3 ) T = 0 (X_1,X_2,X_3)I(X_1,X_2,X_3)^T = 0 (X1,X2,X3)I(X1,X2,X3)T=0
结论3.9 绝对圆锥在投影变换下保持不变,当且仅当该变换是相似变换。
所有的圆都和绝对圆锥相交于两点,所有的球都和绝对圆椎相交于 π ∞ \pi_{\infty} π∞
度量性质 当我们知道了绝对圆锥,我们就可以恢复度量性质,比如直线之间的夹角:
cos θ = d 1 T Ω ∞ d 2 ( d 1 T Ω ∞ d 2 ) ( d 1 T Ω ∞ d 2 ) \cos \theta = \frac{d_1^T \Omega_{\infty} d_2}{\sqrt{(d_1^T \Omega_{\infty} d_2)(d_1^T \Omega_{\infty} d_2)} } cosθ=(d1TΩ∞d2)(d1TΩ∞d2) d1TΩ∞d2
3.7 The absolute dual quadric
就是由与绝对圆锥相切的平面组成的圆锥,记为 Q ∞ ∗ Q_{\infty}^* Q∞∗,对偶圆锥也在相似变换下保持不变。 π ∞ \pi_{\infty} π∞是 Q ∞ ∗ Q_{\infty}^* Q∞∗的零向量。