Projective Geometry and Transformations of 3D

3.2.2 Lines

(3.13) can be understood from (3.4). By applying (3.13) to itself i.e. \((\mathcal{L} \mid \mathcal{L})\), one arrives at (3.12). (3.12) can also be confirmed by evaluating the determinant directly. (3.14) can be derived from \(\mathbf{X} = \mathrm{L} \boldsymbol{\pi}\) via applying (3.2) twice.

[Bor] covers some useful properties of \(\text{Pl}\mathrm{\ddot{u}}\text{cker}\) line coordinates as a matrix-vector product that the book left out.

Define

\[\begin{split}\mathcal{L}(\mathrm{L}) = \begin{bmatrix} l_{12}\\ l_{13}\\ l_{14}\\ l_{23}\\ l_{42}\\ l_{34} \end{bmatrix} \quad \iff \quad \mathrm{L}(\mathcal{L}) = \begin{bmatrix} 0 & l_{12} & l_{13} & l_{14}\\ -l_{12} & 0 & l_{23} & -l_{42}\\ -l_{13} & -l_{23} & 0 & l_{34}\\ -l_{14} & l_{42} & -l_{34} & 0 \end{bmatrix}.\end{split}\]

Notice that (3.10) is equivalent to

\[\begin{split}\mathcal{L}^* = \mathrm{D} \mathcal{L}(\mathrm{L}) = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0 & 0 & 0\\ 1 & 0 & 0 & 0 & 0 & 0\\ \end{bmatrix} \mathcal{L}(\mathrm{L}) \quad \iff \quad \mathcal{L} = \mathrm{D} \mathcal{L}(\mathrm{L}^*).\end{split}\]

The constraint (3.12) translates to

\[\begin{split}\mathcal{L}^\top \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0 & 0 & 0\\ 1 & 0 & 0 & 0 & 0 & 0\\ \end{bmatrix} \mathcal{L} = 0.\end{split}\]

Given \(\mathbf{X} \in \mathbb{R}^4\), define

\[\begin{split}\left[ \mathbf{X} \right]_{\times} = \begin{bmatrix} -x_1 & x_0 & 0 & 0\\ -x_2 & 0 & x_0 & 0\\ -x_3 & 0 & 0 & x_0\\ 0 & -x_2 & x_1 & 0\\ 0 & x_3 & 0 & -x_1\\ 0 & 0 & -x_3 & x_2\\ \end{bmatrix} \quad \text{and} \quad \mathrm{D} \left[ \mathbf{X} \right]_{\times} = \begin{bmatrix} 0 & 0 & -x_3 & x_2\\ 0 & x_3 & 0 & -x_1\\ 0 & -x_2 & x_1 & 0\\ -x_3 & 0 & 0 & x_0\\ -x_2 & 0 & x_0 & 0\\ -x_1 & x_0 & 0 & 0\\ \end{bmatrix}.\end{split}\]

Observe that (3.8) and (3.9) can be rewritten respectively as

\[\mathcal{L} = \mathcal{L}(\mathrm{L}) = \left[ \mathbf{A} \right]_{\times} \mathbf{B} = \mathrm{D} \mathcal{L}(\mathrm{L}^*) = \mathrm{D} \left[ \mathbf{P} \right]_{\times} \mathbf{Q}\]

and

\[\mathcal{L}^* = \mathcal{L}(\mathrm{L}^*) = \left[ \mathbf{P} \right]_{\times} \mathbf{Q} = \mathrm{D} \mathcal{L}(\mathrm{L}) = \mathrm{D} \left[ \mathbf{A} \right]_{\times} \mathbf{B}.\]

A point-only expression of the plane defined by the join of a point \(\mathbf{X}\) and line \(\mathrm{L}\) is

\[\boldsymbol{\pi} = \mathrm{L}^* \mathbf{X} = \mathrm{L}(\mathcal{L}^*) \mathbf{X} = \mathrm{L}\left( \mathrm{D} \mathcal{L}(\mathrm{L}) \right) \mathbf{X} = \mathrm{L}\left( \mathrm{D} \left[ \mathbf{A} \right]_{\times} \mathbf{B} \right) \mathbf{X}.\]

A plane-only expression of the point defined by the intersection of the line \(\mathrm{L}\) with the plane \(\boldsymbol{\pi}\) is

\[\mathbf{X} = \mathrm{L} \boldsymbol{\pi} = \mathrm{L}(\mathcal{L}) \boldsymbol{\pi} = \mathrm{L}\left( \mathrm{D} \mathcal{L}(\mathrm{L}^*) \right) \boldsymbol{\pi} = \mathrm{L}\left( \mathrm{D} \left[ \mathbf{P} \right]_{\times} \mathbf{Q} \right) \boldsymbol{\pi}.\]

Note that this particular definition of \(\text{Pl}\mathrm{\ddot{u}}\text{cker}\) line coordinates reveals a connection to cross products in \(\mathbb{R}^3\).

3.2.4 Classification of Quadrics

[Yap] covers some useful properties of quadric surfaces that the book left out.

The zero set of a polynomial \(P(\mathbf{X}) = P(X_1, \ldots, X_n) \in \mathbb{Q}[X_1, \ldots, X_n]\) is a hypersurface in \(n\)-dimensional affine space. When \(P(\mathbf{X})\) is homogeneous, it is called a form and defines a hypersurface in \((n - 1)\)-dimensional projective space. When \(\text{deg}(P) = 2\), the polynomial is quadratic and the corresponding hypersurface is quadric.

(3.15) can be written as a polynomial:

\[\begin{split}0 = \mathbf{X}^\top \mathrm{Q} \mathbf{X} = \begin{bmatrix} X & Y & Z & 1 \end{bmatrix} \begin{bmatrix} a & f & h & p\\ f & b & g & q\\ h & g & c & r\\ p & q & r & d\\ \end{bmatrix} \begin{bmatrix} X\\ Y\\ Z\\ 1 \end{bmatrix} = aX^2 + bY^2 + cZ^2 + 2fXY + 2gYZ + 2hZX + 2pX + 2qY + 2rZ + d = P(X, Y, Z).\end{split}\]

Let \(\mathrm{Q}_u\) denote the upper \(3 \times 3\) submatrix of \(\mathrm{Q}\). The discriminant \(\Delta \mathrm{Q} = \det \mathrm{Q}\) and subdiscriminant \(\Delta \mathrm{Q}_u = \det \mathrm{Q}_u\) pair is an invariant that can be used to categorize the point quadrics. Another invariant is the number of positive and negative eigenvalues. Let \(\sigma^+(\mathrm{Q})\) and \(\sigma^-(\mathrm{Q})\) denote the number of positive and negative eigenvalues of \(\mathrm{Q}\). The pair

\[\sigma(\mathrm{Q}) = \left( \sigma^+(\mathrm{Q}), \sigma^-(\mathrm{Q}) \right)\]

is called the inertia of \(\mathrm{Q}\). Note that \(\sigma^+(\mathrm{Q}) + \sigma^-(\mathrm{Q})\) is the rank of \(\mathrm{Q}\) while \(\sigma^+(\mathrm{Q}) - \sigma^-(\mathrm{Q})\) is the signature of \(\mathrm{Q}\).

(i) \(\text{Pl}\mathrm{\ddot{u}}\text{cker Coordinates}\)

(a)

The point of intersection of a line \(\mathrm{L}\) with a plane \(\boldsymbol{\pi}\) that is defined by a point \(\mathbf{X}\) and a line \(\mathrm{M}\) is

\[\mathbf{Y} = \mathrm{L} \boldsymbol{\pi} = \mathrm{L} \mathrm{M}^* \mathbf{X}.\]

(b)

Observe that

\[\begin{split}\boldsymbol{\pi} &= \mathrm{M}^* \mathbf{X}\\ &= \left( \mathbf{P} \mathbf{Q}^\top - \mathbf{Q} \mathbf{P}^\top \right) \mathbf{X} \qquad (3.9)\\ &= \mathbf{P} \mathbf{Q}^\top \mathbf{X} - \mathbf{Q} \mathbf{P}^\top \mathbf{X}.\end{split}\]

By inspection and (3.2), \(\mathrm{M}^* \mathbf{X} = \boldsymbol{0}\) if and only if \(\mathbf{X}\) is on \(\mathrm{M}\).

Likewise, notice that

\[\begin{split}\mathbf{Y} &= \mathrm{L} \boldsymbol{\pi}\\ &= \left( \mathbf{A} \mathbf{B}^\top - \mathbf{B} \mathbf{A}^\top \right) \boldsymbol{\pi} \qquad (3.8)\\ &= \mathbf{A} \mathbf{B}^\top \boldsymbol{\pi} - \mathbf{B} \mathbf{A}^\top \boldsymbol{\pi}.\end{split}\]

By inspection and (3.2), \(\mathrm{L} \boldsymbol{\pi} = \boldsymbol{0}\) if and only if \(\mathrm{L}\) is on \(\boldsymbol{\pi}\).

(c)

Let \(\mathbf{P}\) and \(\mathbf{Q}\) denote two planes and \(\mathrm{L}^*\) their intersection (3.9). Recall that \(\mathrm{L}\) is on \(\boldsymbol{\pi}_\infty\) if and only if

\[\begin{split}\mathrm{L} \boldsymbol{\pi}_\infty = \mathrm{L}\left( \mathrm{D} \left[ \mathbf{P} \right]_\times \mathbf{Q} \right) \boldsymbol{\pi}_\infty = \begin{bmatrix} p_2 q_3 - p_3 q_2\\ -p_1 q_3 + p_3 q_1\\ p_1 q_2 - p_2 q_1\\ 0 \end{bmatrix} = \begin{bmatrix} \mathbf{n}_{\mathbf{P}} \times \mathbf{n}_{\mathbf{Q}}\\ 0 \end{bmatrix} = \boldsymbol{0}\end{split}\]

where \(\mathbf{n}_\cdot\) corresponds to the plane normal of Euclidean geometry (3.2). By inspection, the foregoing only holds when the normals are parallel i.e. the planes are parallel.

(d)

Note that the following proof also holds for (3.13) and (3.14) because of (3.10).

Let \(\mathbf{P}\) and \(\mathbf{Q}\) denote two planes and \(\mathrm{L}^*\) their intersection (3.9) satisfies (3.12). Likewise, define another line \(\hat{\mathrm{L}}^*\) as the intersection of planes \(\hat{\mathbf{P}}\) and \(\hat{\mathbf{Q}}\). The points of intersection are

\[\begin{split}\mathbf{X} = \mathrm{L} \boldsymbol{\pi}_\infty = \begin{bmatrix} \mathbf{n}_{\mathbf{P}} \times \mathbf{n}_{\mathbf{Q}}\\ 0 \end{bmatrix} = \begin{bmatrix} l_{14}\\ -l_{42}\\ l_{34}\\ 0 \end{bmatrix} \quad \text{and} \quad \hat{\mathbf{X}} = \hat{\mathrm{L}} \boldsymbol{\pi}_\infty = \begin{bmatrix} \mathbf{n}_{\hat{\mathbf{P}}} \times \mathbf{n}_{\hat{\mathbf{Q}}}\\ 0 \end{bmatrix} = \begin{bmatrix} \hat{l}_{14}\\ -\hat{l}_{42}\\ \hat{l}_{34}\\ 0 \end{bmatrix}\end{split}\]

where \(\mathbf{n}_\cdot\) corresponds to the plane normal of Euclidean geometry (3.2). By inspection, the homogeneous coordinates \(\mathbf{X}\) and \(\hat{\mathbf{X}}\) are equivalent only when the lines are parallel. Otherwise, result 3.5 states that the lines do not intersect because \((\mathrm{L} \mid \hat{\mathrm{L}}) \neq 0\).

(ii) Projective Transformations

Since \(\mathrm{Q}\) is a real symmetric matrix, there exists an eigenvalue decomposition such that \(\mathrm{Q} = \mathrm{U} \mathrm{D} \mathrm{U}^\top\) where \(\mathrm{U}\) is a real orthogonal matrix and \(\mathrm{D}\) is a diagonal matrix whose entries are the eigenvalues of \(\mathrm{Q}\). Likewise, \(\mathbf{Q}_u = \mathrm{U}' \mathrm{D}' {\mathrm{U}'}^\top\).

Define \(\sigma = \sigma(\mathrm{Q})\) and \(\sigma_u = \sigma(\mathrm{Q}_u)\). The point quadrics of interest under a point transformation (3.16) \(\mathrm{H} = \mathrm{U}^\top\) and \(\mathrm{H}_u = {\mathrm{U}'}^\top\) are

  • ellipsoid \(\left( \sigma = (3, 1), \sigma_u = (3, 0) \right)\),

  • paraboloid \(\left( \sigma = (3, 1), \sigma_u = (2, 0) \right)\),

  • hyperboloid of two sheets \(\left( \sigma = (3, 1), \sigma_u = (2, 1) \right)\), and

  • hyperboloid of one sheets \(\left( \sigma = (2, 2), \sigma_u = (2, 1) \right)\).

Observe that a projectivity (2.17) cannot map an ellipsoid to a hyperboloid of one sheet because

\[\det \mathrm{Q}' = \det(\mathrm{H}^{-\top} \mathrm{Q} \mathrm{H}^{-1}) = \det(\mathrm{H}^{-\top}) \det(\mathrm{Q}) \det(\mathrm{H}^{-1}) = \det(\mathrm{U}) \det(\mathrm{D}) \det(\mathrm{U}^\top) \det(\mathrm{H}^{-1})^2 = \det(\mathrm{D}) \det(\mathrm{H}^{-1})^2 < 0.\]

By inspection, a projectivity can map an ellipsoid to a elliptic paraboloid or hyperboloid of two sheets because

\[\begin{split}\det \mathrm{Q}'_u &= \det(\mathrm{H}^{-\top} \mathrm{Q} \mathrm{H}^{-1})_u\\ &= \det\left( \begin{bmatrix} \mathbf{A}^\top & \mathbf{v}\\ \mathbf{t}^\top & \upsilon \end{bmatrix}^{-\top} \begin{bmatrix} \mathrm{Q}_u & \mathbf{q}\\ \mathbf{q}^\top & q \end{bmatrix} \begin{bmatrix} \mathbf{A} & \mathbf{t}\\ \mathbf{v}^\top & \upsilon \end{bmatrix} \right)_u\\ &= \det\left( \mathbf{A}^\top \mathrm{Q}_u \mathbf{A} + \mathbf{A}^\top \mathbf{q} \mathbf{v}^\top + \mathbf{v} \mathbf{q}^\top \mathbf{A} + q \mathbf{v} \mathbf{v}^\top \right) \in \mathbb{R}.\end{split}\]

(iii) Screw Decomposition

Let \(\mathbf{I}\) denote an identity matrix whose size is dependent on the surrounding context. Recall that the eigenvalues of a Euclidean transformation \(\mathbf{A}\) can be determined from the roots of the characteristic polynomial

\[\begin{split}0 = \det\left( \mathbf{A} - \lambda \mathbf{I} \right) = \det\left( \begin{bmatrix} \mathbf{R} & \mathbf{t}\\ \boldsymbol{0}^\top & 1 \end{bmatrix} - \lambda \mathbf{I} \right) = \det\left( \begin{bmatrix} \mathbf{I} & \mathbf{t}\\ \boldsymbol{0}^\top & 1 - \lambda \end{bmatrix} \right) \det\left( \begin{bmatrix} \mathbf{R} - \lambda \mathbf{I} & \boldsymbol{0}\\ \boldsymbol{0}^\top & 1 \end{bmatrix} \right) = (1 - \lambda) \det\left( \mathbf{R} - \lambda \mathbf{I} \right).\end{split}\]

Notice that the rotation matrix \(\mathbf{R}\) can be defined as

\[\begin{split}\mathbf{R} = \begin{bmatrix} \cos \theta & -\sin \theta & 0\\ \sin \theta & \cos \theta & 0\\ 0 & 0 & 1 \end{bmatrix}\end{split}\]

without loss of generality because any rotation matrix \(\mathbf{R}'\) can be decomposed as

\[\mathbf{R}' = \mathbf{P} \mathbf{R} \mathbf{P}^{-1}\]

where \(\mathbf{P}\) denotes a change of basis according to Euler’s Displacement Theorem [Hab]. This could also be justified through examining the trace

\[\text{tr}(\mathbf{R}') = \text{tr}\left( \mathbf{P} \mathbf{R} \mathbf{P}^{-1} \right) = \text{tr}\left( \mathbf{P}^{-1} \mathbf{P} \mathbf{R} \right) = \text{tr}\left( \mathbf{R} \right) = \sum_i \lambda_i.\]

Hence the remaining eigenvalues are the roots of

\[\det\left( \mathbf{R} - \lambda \mathbf{I} \right) = \left( 1 - \lambda \right) \left[ (\cos \theta - \lambda)^2 + \sin^2 \theta \right] = \left( 1 - \lambda \right) \left[ \lambda^2 - 2 \lambda \cos \theta + 1 \right].\]

Therefore, the eigenvalues of \(\mathbf{A}\) are \(\lambda \in \left\{ 1, 1, e^{i \theta}, e^{-i \theta} \right\}\).

Recall that the characteristic vectors (eigenvectors) of \(\mathbf{A}\) must satisfy the equation

\[\left( \mathbf{A} - \lambda \mathbf{I} \right) \tilde{\mathbf{v}} = \boldsymbol{0}.\]

Let \(\mathbf{a}\) denote the direction of the rotation axis (i.e. \(\mathbf{R} \mathbf{a} = \mathbf{a}\)), and decompose the translation vector into \(\mathbf{t} = \mathbf{t}_\parallel + \mathbf{t}_\perp\) where \(\mathbf{t}_\parallel = (\mathbf{t} \cdot \mathbf{a}) \mathbf{a}\) and \(\mathbf{t}_\perp = \mathbf{t} - \mathbf{t}_\parallel\).

\(\lambda_1 = \lambda_2 = 1\)

\[\begin{split}\boldsymbol{0} &= \left( \mathbf{A} - \mathbf{I} \right) \tilde{\mathbf{v}}\\ &= \begin{bmatrix} \mathbf{R} - \mathbf{I} & \mathbf{t}\\ \boldsymbol{0}^\top & 0 \end{bmatrix} \begin{bmatrix} \mathbf{v}\\ \upsilon \end{bmatrix}\\ &= \begin{bmatrix} \mathbf{R} \mathbf{v} - \mathbf{v} + \upsilon \mathbf{t}\\ 0 \end{bmatrix}\end{split}\]

Regardless of whether \(\mathbf{t}\) is orthogonal to \(\mathbf{a}\) or not, \(\tilde{\mathbf{v}}_1 = \begin{bmatrix} \mathbf{a}\\ 0 \end{bmatrix}\) is clearly an eigenvector of \(\mathbf{A}\). Furthermore, one cannot evaluate

\[\begin{split}\mathbf{R} \mathbf{v} - \mathbf{v} + \upsilon \mathbf{t} &= 0\\ \upsilon \mathbf{t} &= \mathbf{v} - \mathbf{R} \mathbf{v}\\ \upsilon \left( \mathbf{t}_\parallel + \mathbf{t}_\perp \right) &= (\mathbf{R} - \mathbf{I}) \mathbf{v}\end{split}\]

directly because \(\mathbf{R} - \mathbf{I}\) is a singular matrix. This also applies to \(\mathbf{R}'\) because

\[\begin{split}\det(\mathbf{R}' - \mathbf{I}) &= \det(\mathbf{I}' + \mathbf{P} \mathbf{R} \mathbf{P}^{-1})\\ &= \det(\mathbf{R}^\top - \mathbf{I}) \det(\mathbf{R}) \det(\mathbf{I}') & \quad & \text{matrix determinant lemma}\\ &= \det(\mathbf{R} - \mathbf{I}) \det(\mathbf{R}) \det(\mathbf{I}').\end{split}\]

When \(\mathbf{a} \cdot \mathbf{t} = 0\), the resulting homogeneous system

\[\begin{split}\upsilon \mathbf{t}_\perp &= (\mathbf{R}' - \mathbf{I}) \mathbf{v}\\ \boldsymbol{0} &= \begin{bmatrix} \mathbf{R}' - \mathbf{I} & -\mathbf{t}_\perp \end{bmatrix} \begin{bmatrix} \mathbf{v}\\ \upsilon \end{bmatrix}\end{split}\]

is underdetermined and has infinitely many solutions.

When \(\mathbf{a} \cdot \mathbf{t} \neq 0\), there are not enough free variables to choose \(\upsilon \in \mathbb{R} \setminus 0\) and still satisfy

\[\begin{split}\upsilon \left( \mathbf{t}^\top \mathbf{a} \mathbf{a} + \mathbf{t}_\perp \right) &= (\mathbf{R}' - \mathbf{I}) \mathbf{v}\\ \upsilon \mathbf{t}^\top \mathbf{a} \mathbf{R}' \mathbf{a} + \upsilon \mathbf{t}_\perp &= \mathbf{R}' \mathbf{v} - \mathbf{I} \mathbf{v}\end{split}\]

because \(\mathbf{t}_\perp \cdot \mathbf{a} = 0\). Hence the only eigenvector available is \(\tilde{\mathbf{v}}_2 = \begin{bmatrix} \mathbf{a}\\ 0 \end{bmatrix}\).

\(\lambda_3 = e^{i \theta}, \lambda_4 = e^{-i \theta}\)

\[\begin{split}\boldsymbol{0} &= \left( \mathbf{A} - e^{\pm i \theta} \mathbf{I} \right) \tilde{\mathbf{v}}\\ &= \begin{bmatrix} \mathbf{R} - e^{\pm i \theta} \mathbf{I} & \mathbf{t}\\ \boldsymbol{0}^\top & 1 - e^{\pm i \theta} \end{bmatrix} \begin{bmatrix} \mathbf{v}\\ \upsilon \end{bmatrix}\\ &= \begin{bmatrix} \mathbf{R} \mathbf{v} - e^{\pm i \theta} \mathbf{v} + \upsilon \mathbf{t}\\ \left( 1 - e^{\pm i \theta} \right) \upsilon \end{bmatrix}\end{split}\]

By inspection, the simplest pair of eigenvectors would have \(\upsilon = 0\). Consequently, the corresponding eigenvectors \(\tilde{\mathbf{v}}_3 = \begin{bmatrix} \mathbf{v}_3\\ 0 \end{bmatrix}\) and \(\tilde{\mathbf{v}}_4 = \begin{bmatrix} \mathbf{v}_4\\ 0 \end{bmatrix}\) span a plane that is orthogonal to the axis of rotation \(\mathbf{a}\). To see this, notice that

\[\begin{split}\left( \lambda_3 \mathbf{v}_3 \right)^\top \mathbf{v}_4 &= \mathbf{v}_3^\top \mathbf{R}^\top \mathbf{v}_4\\ &= \mathbf{v}_3^\top \frac{\mathbf{v}_4}{\lambda_4} & \quad & \mathbf{v}_4 = \lambda_4 \mathbf{A}^\top \mathbf{v}_4\\ (\lambda_3 - \lambda_4^{-1}) \mathbf{v}_3^\top \mathbf{v}_4 &= 0.\end{split}\]

Since \(\lambda_3 - \lambda_4^{-1} \neq 0\), the eigenvectors must be mutually orthogonal.

References

Bor

Niclas Borlin. Course notes from geometrical image analysis. https://www8.cs.umu.se/kurser/TDBD19/VT05/homo3d-4.pdf. Accessed on 2017-02-08.

Yap

Chee Yap. Lecture 21: surfaces. http://cs.nyu.edu/yap/bks/egc/09/21Surfaces.pdf. Accessed on 2017-02-28.