(i) Affine Transformations
Recall from (2.10) an affinity is defined as
\[\begin{split}\mathbf{x}' = \mathbf{H}_A \mathbf{x} =
\begin{bmatrix}
\mathbf{A} & \mathbf{t}\\
\boldsymbol{0}^\top & 1
\end{bmatrix} \mathbf{x} =
\begin{bmatrix}
a_{11} & a_{12} & t_x\\
a_{21} & a_{22} & t_y\\
0 & 0 & 1
\end{bmatrix} \begin{bmatrix} x\\ y\\ z \end{bmatrix} =
\begin{bmatrix}
a_{11} x + a_{12} y + t_x z\\
a_{21} x + a_{22} y + t_y z\\
z
\end{bmatrix} =
\begin{bmatrix}
x'\\
y'\\
z'
\end{bmatrix}.\end{split}\]
Observe that
\[\begin{split}\mathbf{H}_A^{-1} =
\left(
\begin{bmatrix}
1 & 0 & t_x\\
0 & 1 & t_y\\
0 & 0 & 1
\end{bmatrix}
\begin{bmatrix}
a_{11} & a_{12} & 0\\
a_{21} & a_{22} & 0\\
0 & 0 & 1
\end{bmatrix}
\right)^{-1} =
\frac{1}{a_{11} a_{22} - a_{12} a_{21}}
\begin{bmatrix}
a_{22} & -a_{12} & 0\\
-a_{21} & a_{11} & 0\\
0 & 0 & a_{11} a_{22} - a_{12} a_{21}
\end{bmatrix}
\begin{bmatrix}
1 & 0 & -t_x\\
0 & 1 & -t_y\\
0 & 0 & 1
\end{bmatrix} =
\begin{bmatrix}
\mathbf{A}' & \mathbf{t}'\\
\boldsymbol{0} & 1
\end{bmatrix}.\end{split}\]
An affinity is degenerate when \(a_{11} a_{22} = a_{12} a_{21}\) i.e.
its columns are linearly dependent.
(a)
By inspection, a degenerate affinity collapses all the points on a conic
section into a single line or point. The rest of the analysis will focus on
non-degenerate affinities.
The equation of a conic (2.3) in homogeneous coordinates is
\[\begin{split}\mathbf{x}^\top \mathbf{C} \mathbf{x} =
\mathbf{x}^\top
\begin{bmatrix}
a & b / 2 & d / 2\\
b / 2 & c & e / 2\\
d / 2 & e / 2 & f
\end{bmatrix} \mathbf{x}.\end{split}\]
The type of conic section can be determined by computing the minor
\(\det \mathbf{C}_{33}\):
\(\mathbf{C}\) is a hyperbola if and only if
\(\det \mathbf{C}_{33} < 0\),
\(\mathbf{C}\) is a parabola if and only if
\(\det \mathbf{C}_{33} = 0\), and
\(\mathbf{C}\) is an ellipse if and only if
\(\det \mathbf{C}_{33} > 0\).
To simplify notations, rewrite the conic coefficient matrix as
\[\begin{split}\mathbf{C} =
\begin{bmatrix}
\boldsymbol{\alpha} & \boldsymbol{\beta}\\
\boldsymbol{\beta}^\top & \gamma
\end{bmatrix}\end{split}\]
where \(\boldsymbol{\alpha} = \begin{bmatrix} a & b / 2\\ b / 2 & c \end{bmatrix}\),
\(\boldsymbol{\beta} = \begin{bmatrix} d / 2\\ e / 2 \end{bmatrix}\), and
\(\gamma = f\). Under an affinity, a conic transforms to
\[\begin{split}\mathbf{x}^\top \mathbf{C}_c \mathbf{x} =
{\mathbf{x}'}^\top \mathbf{H}_A^{-\top}
\mathbf{C}_c \mathbf{H}_A^{-1} \mathbf{x}' =
{\mathbf{x}'}^\top
\begin{bmatrix}
{\mathbf{A}'}^\top \boldsymbol{\alpha} \mathbf{A}' &
{\mathbf{A}'}^\top \boldsymbol{\alpha} \mathbf{t}' +
{\mathbf{A}'}^\top \boldsymbol{\beta}\\
{\mathbf{t}'}^\top \boldsymbol{\alpha} \mathbf{A}' +
\boldsymbol{\beta}^\top \mathbf{A}' &
{\mathbf{t}'}^\top \boldsymbol{\alpha} \mathbf{t}' +
2 {\mathbf{t}'}^\top \boldsymbol{\beta} + \gamma
\end{bmatrix} \mathbf{x}' =
{\mathbf{x}'}^\top \mathbf{C}' \mathbf{x}'.\end{split}\]
Assuming \(\det \mathbf{C} > 0\),
\[\begin{split}\det \mathbf{C}'_{33}
&= \det
\begin{bmatrix}
a'_{11} \left( a a'_{11} + \frac{b}{2} a'_{21} \right) +
a'_{21} \left( \frac{b}{2} a'_{11} + c a'_{21} \right) &
a'_{11} \left( a a'_{12} + \frac{b}{2} a'_{22} \right) +
a'_{21} \left( \frac{b}{2} a'_{12} + c a'_{22} \right)\\
a'_{12} \left( a a'_{11} + \frac{b}{2} a'_{21} \right) +
a'_{22} \left( \frac{b}{2} a'_{11} + c a'_{21} \right) &
a'_{12} \left( a a'_{12} + \frac{b}{2} a'_{22} \right) +
a'_{22} \left( \frac{b}{2} a'_{12} + c a'_{22} \right)\\
\end{bmatrix}\\
&= \det({\mathbf{A}'}^\top \boldsymbol{\alpha} \mathbf{A}')\\
&= \det({\mathbf{A}'}^\top) \det(\boldsymbol{\alpha}) \det(\mathbf{A}')\\
&= \det(\mathbf{A}')^2 \det(\boldsymbol{\alpha})\\
&= \det(\mathbf{A}')^2 \left( ac - \frac{b^2}{4} \right)\\
&> 0.\end{split}\]
Thus, an affinity can map a circle to an ellipse, but it cannot map
an ellipse to a parabola or hyperbola.
(b)
Any pair of points on a line \(\mathbf{l}\) can be represented as
\[\mathbf{x}_2 - \mathbf{x}_1 = \lambda \mathbf{d}\]
where the scalar \(\lambda \in \mathbb{R}\) and the direction
\(\mathbf{d} \in \mathbb{R}^3\). Note that the direction vector satisfies
\(\mathbf{d}^\top \mathbf{l} = 0\) and
\(\left\Vert \mathbf{d} \right\Vert_2 = 1\). Evidently, any line
\(\mathbf{l}'\) parallel to \(\mathbf{l}\) must have the same direction
vector. Let \(\mathbf{x}'_2 - \mathbf{x}'_1 = \lambda' \mathbf{d}\) denote
the corresponding line segment on \(\mathbf{l}'\).
The ratio of these parallel line segments is
\[\frac{
\left\Vert \mathbf{x}_2 - \mathbf{x}_1 \right\Vert_2
}{
\left\Vert \mathbf{x}'_2 - \mathbf{x}'_1 \right\Vert_2
} =
\frac{
\lambda \left\Vert \mathbf{d} \right\Vert_2
}{
\lambda' \left\Vert \mathbf{d} \right\Vert_2
} =
\frac{\lambda}{\lambda'}.\]
The ratio of these line segments under an affinity is
\[\frac{
\left\Vert \mathbf{H}_A (\mathbf{x}_2 - \mathbf{x}_1) \right\Vert_2
}{
\left\Vert \mathbf{H}_A (\mathbf{x}'_2 - \mathbf{x}'_1) \right\Vert_2
} =
\frac{
\lambda \left\Vert \mathbf{H}_A \mathbf{d} \right\Vert_2
}{
\lambda' \left\Vert \mathbf{H}_A \mathbf{d} \right\Vert_2
} =
\frac{\lambda}{\lambda'}.\]
Therefore, the ratio of lengths on parallel line segments is invariant to
affinities. Clearly, when the line segments are not parallel, the direction
vectors are no longer equal. Hence the ratio is no longer invariant to
affinities. Note that projectivities map lines to lines, but do not necessarily
preserve parallelism.
(ii) Projective Transformations
Let \(\mathbf{x}\) denote a point on a unit circle at the origin
(example 2.28) such that
\[\begin{split}0 = \mathbf{x}^\top \mathbf{C} \mathbf{x} =
\mathbf{x}^\top
\begin{bmatrix}
1 & 0 & 0\\
0 & 1 & 0\\
0 & 0 & -1
\end{bmatrix} \mathbf{x} =
\mathbf{x}^\top
\begin{bmatrix}
\mathbf{I} & \boldsymbol{0}\\
\boldsymbol{0}^\top & -1
\end{bmatrix} \mathbf{x} =
\mathbf{x}^\top \mathbf{S}_3 \mathbf{x}.\end{split}\]
From result 2.13, a projectivity (2.13) that fixes as a set a unit circle at the
origin must satisfy (result 2.13)
\[\mathbf{C}' =
\mathbf{H}^{-\top} \mathbf{C} \mathbf{H}^{-1} =
\mathbf{H}^{-\top} \mathbf{S}_3 \mathbf{H}^{-1} =
\mathbf{S}_3\]
where according to (2.17)
\[\begin{split}\mathbf{H}^{-1} =
\mathbf{H}_P^{-1} \mathbf{H}_A^{-1} \mathbf{H}_S^{-1} =
\begin{bmatrix}
\mathbf{I} & \boldsymbol{0}\\
\mathbf{v}^\top & 1
\end{bmatrix}
\begin{bmatrix}
K & \boldsymbol{0}\\
\boldsymbol{0}^\top & 1
\end{bmatrix}
\begin{bmatrix}
s \mathbf{R} & \mathbf{t}\\
\boldsymbol{0}^\top & 1
\end{bmatrix} =
\begin{bmatrix}
s K \mathbf{R} & K \mathbf{t}\\
s \mathbf{v}^\top K \mathbf{R} & \mathbf{v}^\top K \mathbf{t} + 1
\end{bmatrix}.\end{split}\]
These properties imply
\[\begin{split}\mathbf{H}_P^{-\top} \mathbf{S}_3 \mathbf{H}_P^{-1} =
\begin{bmatrix}
\mathbf{I} & \mathbf{v}\\
\boldsymbol{0}^\top & 1
\end{bmatrix}
\begin{bmatrix}
\mathbf{I} & \boldsymbol{0}\\
\boldsymbol{0}^\top & -1
\end{bmatrix}
\begin{bmatrix}
\mathbf{I} & \boldsymbol{0}\\
\mathbf{v}^\top & 1
\end{bmatrix} =
\begin{bmatrix}
\mathbf{I} - \mathbf{v} \mathbf{v}^\top & -\mathbf{v}\\
-\mathbf{v}^\top & -1
\end{bmatrix} =
\mathbf{S}_3
\quad \Rightarrow \quad
\mathbf{v} = \boldsymbol{0},\end{split}\]
\[\begin{split}\mathbf{H}_A^{-\top} \mathbf{S}_3 \mathbf{H}_A^{-1} =
\begin{bmatrix}
K^\top & \boldsymbol{0}\\
\boldsymbol{0}^\top & 1
\end{bmatrix}
\begin{bmatrix}
\mathbf{I} & \boldsymbol{0}\\
\boldsymbol{0}^\top & -1
\end{bmatrix}
\begin{bmatrix}
K & \boldsymbol{0}\\
\boldsymbol{0}^\top & 1
\end{bmatrix} =
\begin{bmatrix}
K^\top K & \boldsymbol{0}\\
\boldsymbol{0}^\top & -1
\end{bmatrix} =
\mathbf{S}_3
\quad \Rightarrow \quad
K^\top K = \mathbf{I},\end{split}\]
and
\[\begin{split}\mathbf{H}_S^{-\top} \mathbf{S}_3 \mathbf{H}_S^{-1} =
\begin{bmatrix}
s \mathbf{R}^\top & \boldsymbol{0}\\
\mathbf{t}^\top & 1
\end{bmatrix}
\begin{bmatrix}
\mathbf{I} & \boldsymbol{0}\\
\boldsymbol{0}^\top & -1
\end{bmatrix}
\begin{bmatrix}
s \mathbf{R} & \mathbf{t}\\
\boldsymbol{0}^\top & 1
\end{bmatrix} =
\begin{bmatrix}
s \mathbf{R}^\top \mathbf{R} & s \mathbf{R}^\top \mathbf{t}\\
s \mathbf{t}^\top \mathbf{R} & \mathbf{t}^\top \mathbf{t} - 1
\end{bmatrix} =
\mathbf{S}_3
\quad \Rightarrow \quad
s^2 \mathbf{R}^\top \mathbf{R} = \mathbf{I} \quad \land \quad
\mathbf{t}^\top = \boldsymbol{0}.\end{split}\]
Hence,
\[\begin{split}\mathbf{H}^{-1} =
\begin{bmatrix}
s K \mathbf{R} & \boldsymbol{0}\\
\boldsymbol{0}^\top & 1
\end{bmatrix} =
\begin{bmatrix}
k_1 s \cos \theta & k_1 (-s) \sin \theta & 0\\
k_2 s \sin \theta & k_2 s \cos \theta & 0\\
0 & 0 & 1
\end{bmatrix} =
\begin{bmatrix}
\alpha & 0 & 0\\
0 & \beta & 0\\
0 & 0 & 1
\end{bmatrix}
\begin{bmatrix}
\cos \theta & -\sin \theta & 0\\
\sin \theta & \cos \theta & 0\\
0 & 0 & 1
\end{bmatrix}\end{split}\]
where \(\alpha = k_1 s = \pm 1\), \(\beta = k_2 s = \pm 1\), and
\(\theta \in \mathbb{R}\) represent a three-parameter family of projective
transformations. The factorized form of this family illustrates that the
projectivities are restricted to combinations of rotations and reflections.
(iii) Isotropies
[Bae] has an intuitive way to remember the degrees of points, lines, and
planes.
A line in 3D space can be specified by two 3D points. However, once the line is
constrained by the points, the points can still move along the line. Thus, one
degree of freedom is retained per point. Since a point in 3D has three degrees
of freedom, the total number of degrees of freedom used to nail down the line
is \(2 \times 3 - 2 \times 1 = 4\).
A plane is fully constrained by three 3D points, but the points are free to roam
the plane; this motion has two degrees of freedom. Hence a plane has
\(3 \times 3 - 3 \times 2 = 3\) degrees of freedom.
A line can also be specified as the intersection of two planes. Once the line
has been found, the planes can freely rotate about the line; this rotation has
one degree of freedom. Therefore, a line has
\(2 \times 3 - 2 \times 1 = 4\) degrees of freedom.
Two Lines Have an Invariant Under a Similarity
Define a line segment on \(\mathbf{l}_i\) as
\[\mathbf{y}_i - \mathbf{x}_i = t_i \mathbf{d}_i\]
where the scalar \(t_i \in \mathbb{R}\), the direction
\(\mathbf{d}_i \in \mathbb{R}^3\),
\(\mathbf{d}_i^\top \mathbf{l}_i = 0\), and
\(\left\Vert \mathbf{d}_i \right\Vert_2 = 1\) for \(i = 1, 2\).
The angle between these line segments is given by their dot product
\[\cos \theta =
\frac{
(\mathbf{y}_1 - \mathbf{x}_1)^\top (\mathbf{y}_2 - \mathbf{x}_2)
}{
\left\Vert \mathbf{y}_1 - \mathbf{x}_1 \right\Vert_2
\left\Vert \mathbf{y}_2 - \mathbf{x}_2 \right\Vert_2
} =
\frac{
t_1 t_2 \mathbf{d}_1^\top \mathbf{d}_2
}{
t_1 \left\Vert \mathbf{d}_1 \right\Vert_2
t_2 \left\Vert \mathbf{d}_2 \right\Vert_2
} =
\mathbf{d}_1^\top \mathbf{d}_2.\]
Let \(\mathbf{H}_S\) denote a similarity (2.9) where
\[\begin{split}\mathbf{x}' = \mathbf{H}_S \mathbf{x} =
\begin{bmatrix}
s \mathbf{R} & \mathbf{t}\\
\boldsymbol{0}^\top & 1
\end{bmatrix} \mathbf{x}.\end{split}\]
Recall that the last coordinate of \(\mathbf{d}_i\) is zero and
\(\mathbf{R}^\top \mathbf{R} = \mathbf{I}\).
\[\cos \theta =
\frac{
(t_1 \mathbf{H}_S \mathbf{d}_1)^\top (t_2 \mathbf{H}_S \mathbf{d}_2)
}{
\left\Vert t_1 \mathbf{H}_S \mathbf{d}_1 \right\Vert_2
\left\Vert t_2 \mathbf{H}_S \mathbf{d}_2 \right\Vert_2
} =
\frac{
t_1 t_2
\left(
s \mathbf{R} \mathbf{d}_{1_{1 \colon 2}}
\right)^\top
\left(
s \mathbf{R} \mathbf{d}_{2_{1 \colon 2}}
\right)
}{
t_1 \left\Vert s \mathbf{R} \mathbf{d}_{1_{1 \colon 2}} \right\Vert_2
t_2 \left\Vert s \mathbf{R} \mathbf{d}_{2_{1 \colon 2}} \right\Vert_2
} =
\mathbf{d}_1^\top \mathbf{d}_2.\]
Therefore, the angle between two lines is invariant under a similarity. Hence
the number of invariants is undoubtedly at least one, which violates the
equality case of the counting argument in result 2.16 because
\[\text{DoF}(\mathbf{l}_1) +
\text{DoF}(\mathbf{l}_2) - \text{DoF}(\mathbf{H}_S) =
2 + 2 - 4 = 0.\]
The following will show that the similarity can only be partially determined.
Under this point transformation, lines transform according to (2.6)
\[\mathbf{l}' = \mathbf{H}_S^{-\top} \mathbf{l}
\quad \Leftrightarrow \quad
\mathbf{l} = \mathbf{H}_S^\top \mathbf{l}'.\]
Given the corresponding lines \(\mathbf{l}'_1\) and \(\mathbf{l}'_2\),
observe that
\[\begin{split}\begin{aligned}
\lambda_i \begin{bmatrix} a_i\\ b_i\\ c_i \end{bmatrix}
&= \lambda'_i
\begin{bmatrix}
s r_1 & s r_2 & 0\\
-s r_2 & s r_1 & 0\\
t_x & t_y & 1\\
\end{bmatrix}
\begin{bmatrix} a'_i\\ b'_i\\ c'_i \end{bmatrix}
\end{aligned}
\quad \Leftrightarrow \quad
\begin{aligned}
\lambda_i a_i &= s \lambda'_i \left( r_1 a'_i + r_2 b'_i \right)\\
\lambda_i b_i &= s \lambda'_i \left( -r_2 a'_i + r_1 b'_i \right)\\
\lambda_i c_i &= \lambda'_i \left( t_x a'_i + t_y b'_i + c'_i \right)
\end{aligned}
\quad \Leftrightarrow \quad
\begin{aligned}
\begin{bmatrix} a_1 c'_1\\ b_1 c'_1\\ a_2 c'_2\\ b_2 c'_2 \end{bmatrix}
&= \begin{bmatrix}
a'_1 c_1 & b'_1 c_1 & -a_1 a'_1 & -a_1 b'_1\\
b'_1 c_1 & -a'_1 c_1 & -b_1 a'_1 & -b_1 b'_1\\
a'_2 c_2 & b'_2 c_2 & -a_2 a'_2 & -a_2 b'_2\\
b'_2 c_2 & -a'_2 c_2 & -b_2 a'_2 & -b_2 b'_2
\end{bmatrix}
\begin{bmatrix} s r_1\\ s r_2\\ t_x\\ t_y \end{bmatrix}
\end{aligned}\end{split}\]
where \(r_1 = \cos \theta\) and \(r_2 = \sin \theta\).
Observe that the \(4 \times 4\) matrix is rank deficient: its rank is
only 3. If there is one more line correspondence, the full rank matrix
would allow the translation \(\mathbf{t}\) to be determined exactly, but
the rotation and scalar \(s\) can only be recovered up to a sign via
\((s r_1)^2 + (s r_2)^2 = s^2\).
Two Lines and Two Points Have an Invariant Under a Projectivity
Let \(\mathbf{l}_1, \mathbf{l}_2, \mathbf{x}_1, \mathbf{x}_2\) denote the
pair of lines and points. The line through the two given points is
\(\mathbf{l}_0 = \mathbf{x}_1 \times \mathbf{x}_2\) (result 2.4). This line
will intersect the two given lines at
\(\mathbf{x}_3 = \mathbf{l}_0 \times \mathbf{l}_1\) and
\(\mathbf{x}_4 = \mathbf{l}_0 \times \mathbf{l}_2\) (result 2.2). To
simplify the proof, arbitrarily define all points on \(\mathbf{l}_0\) in
terms of \(\mathbf{x}_1\) such that
\[\mathbf{x}_i = \mathbf{x}_1 + t_i \mathbf{d} \quad i = 1, 2, 3, 4\]
where \(t_i \in \mathbb{R}\) and \(\mathbf{d}^\top \mathbf{l}_0 = 0\)
e.g. \(\mathbf{d} = \frac{\mathbf{x}_4 - \mathbf{x}_1}{\left\Vert \mathbf{x}_4 - \mathbf{x}_1 \right\Vert_2}\).
The cross ratio (2.18) of these points is
\[\text{Cross}(\mathbf{x}_1, \mathbf{x}_2, \mathbf{x}_3, \mathbf{x}_4) =
\frac{
\left\Vert \mathbf{x}_1 - \mathbf{x}_2 \right\Vert_2
\left\Vert \mathbf{x}_3 - \mathbf{x}_4 \right\Vert_2
}{
\left\Vert \mathbf{x}_1 - \mathbf{x}_3 \right\Vert_2
\left\Vert \mathbf{x}_2 - \mathbf{x}_4 \right\Vert_2
} =
\frac{
\left\Vert -t_2 \mathbf{d} \right\Vert_2
\left\Vert (t_3 - t_4) \mathbf{d} \right\Vert_2
}{
\left\Vert -t_3 \mathbf{d} \right\Vert_2
\left\Vert (t_2 - t_4) \mathbf{d} \right\Vert_2
} =
\frac{
t_2 (t_3 - t_4)
}{
t_3 (t_2 - t_4)
}.\]
The cross ratio of these points under a projectivity (2.13) is
\[\text{Cross}(\mathbf{x}'_1, \mathbf{x}'_2, \mathbf{x}'_3, \mathbf{x}'_4) =
\frac{
\left\Vert \mathbf{H}_P (\mathbf{x}_1 - \mathbf{x}_2) \right\Vert_2
\left\Vert \mathbf{H}_P (\mathbf{x}_3 - \mathbf{x}_4) \right\Vert_2
}{
\left\Vert \mathbf{H}_P (\mathbf{x}_1 - \mathbf{x}_3) \right\Vert_2
\left\Vert \mathbf{H}_P (\mathbf{x}_2 - \mathbf{x}_4) \right\Vert_2
} =
\frac{
\left\Vert -t_2 \mathbf{H}_P \mathbf{d} \right\Vert_2
\left\Vert (t_3 - t_4) \mathbf{H}_P \mathbf{d} \right\Vert_2
}{
\left\Vert -t_3 \mathbf{H}_P \mathbf{d} \right\Vert_2
\left\Vert (t_2 - t_4) \mathbf{H}_P \mathbf{d} \right\Vert_2
} =
\frac{
t_2 (t_3 - t_4)
}{
t_3 (t_2 - t_4)
}.\]
Thus, the cross ratio of the intersection points defined by a pair of lines and
points is invariant under a projectivity. Therefore, the number of invariants
is undoubtedly at least one, which violates the equality case of the counting
argument in result 2.16 because
\[\text{DoF}(\mathbf{l}_1) + \text{DoF}(\mathbf{l}_2) +
\text{DoF}(\mathbf{x}_1) + \text{DoF}(\mathbf{x}_2) -
\text{DoF}(\mathbf{H}_S) =
2 + 2 + 2 + 2 - 8 = 0.\]
The following will show that the projectivity \(\mathbf{H}\) (2.5) can only
be partially determined.
Given the corresponding lines and points
\(\mathbf{l}'_1, \mathbf{l}'_2, \mathbf{x}'_1, \mathbf{x}'_2\), observe that
\[\begin{split}\begin{aligned}
\tilde{\lambda}'_i
&= \tilde{\lambda}_i \begin{bmatrix} x'_i\\ y'_i\\ z'_i \end{bmatrix}
\begin{bmatrix}
h_1 & h_2 & h_3\\
h_4 & h_5 & h_6\\
h_7 & h_8 & h_9
\end{bmatrix}
\begin{bmatrix} x_i\\ y_i\\ z_i \end{bmatrix}
\end{aligned}
\quad \Leftrightarrow \quad
\begin{aligned}
\tilde{\lambda}'_i x'_i &= \tilde{\lambda}_i \left( h_1 x_i + h_2 y_i + h_3 z_i \right)\\
\tilde{\lambda}'_i y'_i &= \tilde{\lambda}_i \left( h_4 x_i + h_5 y_i + h_6 z_i \right)\\
\tilde{\lambda}'_i z'_i &= \tilde{\lambda}_i \left( h_7 x_i + h_8 y_i + h_9 z_i \right)
\end{aligned}\end{split}\]
and
\[\begin{split}\begin{aligned}
\lambda_i \begin{bmatrix} a_i\\ b_i\\ c_i \end{bmatrix}
&= \lambda'_i
\begin{bmatrix}
h_1 & h_4 & h_7\\
h_2 & h_5 & h_8\\
h_3 & h_6 & h_9
\end{bmatrix}
\begin{bmatrix} a'_i\\ b'_i\\ c'_i \end{bmatrix}
\end{aligned}
\quad \Leftrightarrow \quad
\begin{aligned}
\lambda_i a_i &= \lambda'_i \left( h_1 a'_i + h_4 b'_i + h_7 c'_i \right)\\
\lambda_i b_i &= \lambda'_i \left( h_2 a'_i + h_5 b'_i + h_8 c'_i \right)\\
\lambda_i c_i &= \lambda'_i \left( h_3 a'_i + h_6 b'_i + h_9 c'_i \right)
\end{aligned}\end{split}\]
where \(\left\Vert \mathbf{H} \right\Vert_F = 1\). An equivalent
representation is
\[\begin{split}\begin{bmatrix}
z'_1 x_1 & z'_1 y_1 & z'_1 z_1 & 0 & 0 & 0 & -x'_1 x_1 & -x'_1 y_1 & -x'_1 z_1\\
0 & 0 & 0 & z'_1 x_1 & z'_1 y_1 & z'_1 z_1 & -y'_1 x_1 & -y'_1 y_1 & -y'_1 z_1\\
z'_2 x_2 & z'_2 y_2 & z'_2 z_2 & 0 & 0 & 0 & -x'_2 x_2 & -x'_2 y_2 & -x'_2 z_2\\
0 & 0 & 0 & z'_2 x_2 & z'_2 y_2 & z'_2 z_2 & -y'_2 x_2 & -y'_2 y_2 & -y'_2 z_2\\
c_1 a'_1 & 0 & -a_1 a'_1 & c_1 b'_1 & 0 & -a_1 b'_1 & c_1 c'_1 & 0 & -a_1 c'_1\\
0 & c_1 a'_1 & -b_1 a'_1 & 0 & c_1 b'_1 & -b_1 b'_1 & 0 & c_1 c'_1 & -b_1 c'_1\\
c_2 a'_2 & 0 & -a_2 a'_2 & c_2 b'_2 & 0 & -a_2 b'_2 & c_2 c'_2 & 0 & -a_2 c'_2\\
0 & c_2 a'_2 & -b_2 a'_2 & 0 & c_2 b'_2 & -b_2 b'_2 & 0 & c_2 c'_2 & -b_2 c'_2
\end{bmatrix}
\begin{bmatrix}
h_1\\ h_2\\ h_3\\ h_4\\ h_5\\ h_6\\ h_7\\ h_8\\ h_9
\end{bmatrix} = \boldsymbol{0}.\end{split}\]
Observe that the \(8 \times 9\) matrix only has a rank 7 plus the explicit
Frobenius norm constraint. If there is one more line or point correspondence,
the matrix would have a rank 8 plus the norm constraint.
(iv) Invariants
(a)
Recall that
\[\mathbf{x}'_i = \mathbf{H} \mathbf{x}_i
\quad \text{(2.5)}\]
\[\mathbf{l}'_i = \mathbf{H}^{-\top} \mathbf{l}_i
\quad \text{(2.6)}\]
for \(i = 1, 2\) and any non-singular projectivity \(\mathbf{H}\).
Observe that
\[\frac{
\left( {\mathbf{l}'}_1^\top \mathbf{x}'_1 \right)
\left( {\mathbf{l}'}_2^\top \mathbf{x}'_2 \right)
}{
\left( {\mathbf{l}'}_1^\top \mathbf{x}'_2 \right)
\left( {\mathbf{l}'}_2^\top \mathbf{x}'_1 \right)
} =
\frac{
\left( \mathbf{l}_1^\top \mathbf{H}^{-1} \mathbf{H} \mathbf{x}_1 \right)
\left( \mathbf{l}_2^\top \mathbf{H}^{-1} \mathbf{H} \mathbf{x}_2 \right)
}{
\left( \mathbf{l}_1^\top \mathbf{H}^{-1} \mathbf{H} \mathbf{x}_2 \right)
\left( \mathbf{l}_2^\top \mathbf{H}^{-1} \mathbf{H} \mathbf{x}_1 \right)
} =
\frac{
\left( \mathbf{l}_1^\top \mathbf{x}_1 \right)
\left( \mathbf{l}_2^\top \mathbf{x}_2 \right)
}{
\left( \mathbf{l}_1^\top \mathbf{x}_2 \right)
\left( \mathbf{l}_2^\top \mathbf{x}_1 \right)
}.\]
(b)
As shown in result 2.13, under a point transformation \(\mathbf{H}\), a
conic \(\mathbf{C}\) transforms to
\[\mathbf{C}' = \mathbf{H}^{-\top} \mathbf{C} \mathbf{H}^{-1}.\]
Observe that
\[\frac{
\left(
{\mathbf{x}'}_1^\top \mathbf{C}' \mathbf{x}'_2
\right)^2
}{
\left( {\mathbf{x}'}_1^\top \mathbf{C}' \mathbf{x}'_1 \right)
\left( {\mathbf{x}'}_2^\top \mathbf{C}' \mathbf{x}'_2 \right)
} =
\frac{
\left(
\mathbf{x}_1 \mathbf{H}^\top
\mathbf{H}^{-\top} \mathbf{C} \mathbf{H}^{-1}
\mathbf{H} \mathbf{x}_2
\right)^2
}{
\left(
\mathbf{x}_1 \mathbf{H}^\top
\mathbf{H}^{-\top} \mathbf{C} \mathbf{H}^{-1}
\mathbf{H} \mathbf{x}_1
\right)
\left(
\mathbf{x}_2 \mathbf{H}^\top
\mathbf{H}^{-\top} \mathbf{C} \mathbf{H}^{-1}
\mathbf{H} \mathbf{x}_2
\right)
} =
\frac{
\left( \mathbf{x}_1 \mathbf{C} \mathbf{x}_2 \right)^2
}{
\left( \mathbf{x}_1 \mathbf{C} \mathbf{x}_1 \right)
\left( \mathbf{x}_2 \mathbf{C} \mathbf{x}_2 \right)
}.\]
(c)
As illustrated in Chapter 18 of [RG11], Laguerre’s
formula can be used to obtain the Euclidean angle between two lines that is
invariant to the projective frame.
Let \(\mathbf{I} = \begin{bmatrix} 1 & i & 0 \end{bmatrix}^\top\) and
\(\mathbf{J} = \begin{bmatrix} 1 & -i & 0 \end{bmatrix}^\top\) denote the
ideal circular points. Let
\(\mathbf{l}_\infty = \begin{bmatrix} 0 & 0 & 1 \end{bmatrix}^\top\)
represent the line at infinity. Define the intersection of the line at infinity
and line \(\mathbf{l}_j\) for \(j = 1, 2\) (result 2.2) as
\[\mathbf{p}_j =
\mathbf{l}_j \times \mathbf{l}_\infty =
\begin{bmatrix} b_j & -a_j & 0 \end{bmatrix}^\top.\]
Observe that \(\mathbf{p}_j\) is normal (orthogonal) to
\(\mathbf{l}_j\). By inspection, the angle of these two normal vectors is
the angle between the two lines. Furthermore, scaling the normal vectors by
a non-zero constant does not affect the angle. These observations allow the
2D normal vectors to be translated to two corresponding complex numbers
\[z_j =
a_j + i b_j =
r_j (\cos \theta_j + i \sin \theta_j) =
r_j \exp i \theta_j
\quad \land \quad
\overline{z_j} = a_j - i b_j = r_j \exp -i \theta_j\]
without affecting the polar angle between them. Evidently, the angle
\(\theta_1 - \theta_2\) modulo \(\pi\) is the desired Euclidean angle
between the two lines, which can be extract from
\[\frac{z_1 \overline{z_2}}{\overline{z_1} z_2} =
\frac{
r_1 \exp i \theta_1 \cdot r_2 \exp -i \theta_2
}{
r_1 \exp -i \theta_1 \cdot r_2 \exp i \theta_2
} =
\exp 2i (\theta_1 - \theta_2).\]
Recall that there exists \(4! = 24\) definitions of the cross ratio, but
only six distinct values are produced. Define the cross ratio to have the
following ordering
\[\text{Cross}\left(
\tilde{\mathbf{p}}_1, \tilde{\mathbf{p}}_2, \mathbf{I}, \mathbf{J}
\right) =
\frac{
\det
\begin{bmatrix} \tilde{\mathbf{p}}_1 & \tilde{\mathbf{I}} \end{bmatrix}
\det
\begin{bmatrix} \tilde{\mathbf{p}}_2 & \tilde{\mathbf{J}} \end{bmatrix}
}{
\det
\begin{bmatrix} \tilde{\mathbf{p}}_1 & \tilde{\mathbf{J}} \end{bmatrix}
\det
\begin{bmatrix} \tilde{\mathbf{p}}_2 & \tilde{\mathbf{I}} \end{bmatrix}
} =
\frac{
(i b_1 + a_1) (-i b_2 + a_2)
}{
(-i b_1 + a_1) (i b_2 + a_2)
} =
\frac{z_1 \overline{z_2}}{\overline{z_1} z_2}\]
where \(\tilde{\cdot}\) denotes the corresponding inhomogenous coordinates.
Therefore,
\[\theta_1 - \theta_2 =
\frac{1}{2i} \ln
\text{Cross}\left(
\mathbf{p}_1, \mathbf{p}_2, \mathbf{I}, \mathbf{J}
\right).\]
(v) The Cross Ratio
Let \(\mathbf{x}_i \in \mathbb{R}^2\) for \(i = 1, \ldots, 4\) denote
four collinear points on a line in homogeneous coordinates. Under a
projectivity \(H \in \mathbb{R}^{2 \times 2}\),
\(\mathbf{x}'_i = \lambda_i \mathbf{H} \mathbf{x}_i\).
Observe that
\[\begin{split}\det \begin{bmatrix} \mathbf{x}'_i & \mathbf{x}'_j \end{bmatrix}
&= \det \begin{bmatrix}
\lambda_i \mathbf{H} \mathbf{x}_i &
\lambda_j \mathbf{H} \mathbf{x}_j
\end{bmatrix}\\
&= \det \mathbf{H} \begin{bmatrix}
\lambda_i \mathbf{x}_i & \lambda_j \mathbf{x}_j
\end{bmatrix}\\
&= \det(\mathbf{H}) \left(
\lambda_i \lambda_j \mathbf{x}_{i1} \mathbf{x}_{j2} -
\lambda_i \lambda_j \mathbf{x}_{i2} \mathbf{x}_{j1}
\right)\\
&= \lambda_i \lambda_j \det(\mathbf{H})
\begin{vmatrix} \mathbf{x}_i & \mathbf{x}_j \end{vmatrix}.\end{split}\]
Therefore, the cross ratio (2.18)
\[\begin{split}\text{Cross}\left(
\mathbf{x}'_1, \mathbf{x}'_2, \mathbf{x}'_3, \mathbf{x}'_4
\right)
&= \frac{
\begin{vmatrix} \mathbf{x}'_1 & \mathbf{x}'_2 \end{vmatrix}
\begin{vmatrix} \mathbf{x}'_3 & \mathbf{x}'_4 \end{vmatrix}
}{
\begin{vmatrix} \mathbf{x}'_1 & \mathbf{x}'_3 \end{vmatrix}
\begin{vmatrix} \mathbf{x}'_2 & \mathbf{x}'_4 \end{vmatrix}
}\\
&= \frac{
\lambda_1 \lambda_2 \det(\mathbf{H})
\begin{vmatrix} \mathbf{x}_1 & \mathbf{x}_2 \end{vmatrix} \cdot
\lambda_3 \lambda_4 \det(\mathbf{H})
\begin{vmatrix} \mathbf{x}_3 & \mathbf{x}_4 \end{vmatrix}
}{
\lambda_1 \lambda_3 \det(\mathbf{H})
\begin{vmatrix} \mathbf{x}_1 & \mathbf{x}_3 \end{vmatrix} \cdot
\lambda_2 \lambda_4 \det(\mathbf{H})
\begin{vmatrix} \mathbf{x}_2 & \mathbf{x}_4 \end{vmatrix}
}\\
&= \frac{
\begin{vmatrix} \mathbf{x}_1 & \mathbf{x}_2 \end{vmatrix}
\begin{vmatrix} \mathbf{x}_3 & \mathbf{x}_4 \end{vmatrix}
}{
\begin{vmatrix} \mathbf{x}_1 & \mathbf{x}_3 \end{vmatrix}
\begin{vmatrix} \mathbf{x}_2 & \mathbf{x}_4 \end{vmatrix}
}\\
&= \text{Cross}\left(
\mathbf{x}_1, \mathbf{x}_2, \mathbf{x}_3, \mathbf{x}_4
\right).\end{split}\]
(vi) Polarity
As illustrated in Figure 2.19, polarity is a geometric relation between a point,
line, and conic. Let \(\mathbf{C}\) denote an arbitrary conic (2.3). The
polar of any given point \(\mathbf{x}\) with respect to \(\mathbf{C}\)
is \(\mathbf{l} = \mathbf{C} \mathbf{x}\). Likewise, the pole of any given
line \(\mathbf{m}\) with respect to \(\mathbf{C}\) is
\(\mathbf{y} = \mathbf{C}^{-1} \mathbf{m}\).
Let \(\mathbf{l}_i\) where \(i = 1, 2\) denote different lines
intersecting at a point \(\mathbf{y}\) inside the conic \(\mathbf{C}\).
The pole of line \(\mathbf{l}_i\) is
\(\mathbf{x}_i = \mathbf{C}^{-1} \mathbf{l}_i\).
From the definition of conjugate points, since \(\mathbf{y}\) is on the
polar of \(\mathbf{x}_i\), \(\mathbf{x}_i\) is on the polar of
\(\mathbf{y}\). Thus, the polar of \(\mathbf{y}\) is the line
\(\mathbf{m}\) that goes through points
\(\mathbf{x}_1\) and \(\mathbf{x}_2\) i.e.
\[\mathbf{m} = \mathbf{x}_1 \times \mathbf{x}_2 = \mathbf{C} \mathbf{y}.\]
(viii) Dual Conics
Recall that if \(\mathbf{l} = \mathbf{x} \times \mathbf{y}\), then
\[\left[ \mathbf{l} \right]_\times =
\mathbf{y} \mathbf{x}^\top - \mathbf{x} \mathbf{y}^\top.\]
Let \(\mathbf{x}\) and \(\mathbf{y}\) denote the points at which line
\(\mathbf{l}\) intersects the conic \(\mathbf{C}\).
\[\begin{split}\mathbf{C}^* =
\left[ \mathbf{l} \right]_\times \mathbf{C} \left[ \mathbf{l} \right]_\times
&= \left( \mathbf{y} \mathbf{x}^\top - \mathbf{x} \mathbf{y}^\top \right)
\mathbf{C}
\left( \mathbf{y} \mathbf{x}^\top - \mathbf{x} \mathbf{y}^\top \right)\\
&= \mathbf{y} \mathbf{x}^\top \mathbf{C} \mathbf{y} \mathbf{x}^\top -
\mathbf{y} \mathbf{x}^\top \mathbf{C} \mathbf{x} \mathbf{y}^\top -
\mathbf{x} \mathbf{y}^\top \mathbf{C} \mathbf{y} \mathbf{x}^\top +
\mathbf{x} \mathbf{y}^\top \mathbf{C} \mathbf{x} \mathbf{y}^\top\\
&= \mathbf{y} \mathbf{x}^\top \mathbf{C} \mathbf{y} \mathbf{x}^\top +
\mathbf{x} \mathbf{y}^\top \mathbf{C} \mathbf{x} \mathbf{y}^\top
& \quad & (2.2)\\
&= \alpha \mathbf{y} \mathbf{x}^\top + \alpha \mathbf{x} \mathbf{y}^\top
\quad \text{where} \quad
\alpha = \mathbf{x}^\top \mathbf{C} \mathbf{y} =
\mathbf{y}^\top \mathbf{C} \mathbf{x}.\end{split}\]
The rank of \(\mathbf{C}^*\) is
\[\text{rank}(\mathbf{C}^*) =
\text{rank}(\mathbf{y} \mathbf{x}^\top + \mathbf{x} \mathbf{y}^\top) \leq
\text{rank}(\mathbf{y} \mathbf{x}^\top) +
\text{rank}(\mathbf{x} \mathbf{y}^\top) = 1 + 1 = 2.\]
Applying the duality principle (result 2.6) to the definition of degenerate
conics shows that \(\mathbf{C}^*\) is a dual conic.
(ix) Special Projective Transformations
[Sch13] has a much better exposition on the concept of
harmonic homology (see definition 2.2, Figure 6, Section 7).
When the points are related by a finite rotational symmetry of order \(n\),
each point is on an axis of reflection. Let \(\mathbf{a}_i\) denote an axis
of reflection in homogeneous coordinates with unit length. For each consecutive
pair of axes \((i, j)\),
\[\mathbf{a}_i \times \mathbf{a}_j = \mathbf{c} = \mathbf{n} \sin \theta
\quad \land \quad
\mathbf{a}_i^\top \mathbf{a}_j = \cos \theta\]
where \(\mathbf{c}\) is the center of rotation,
\(\theta = \frac{360}{n}\) is the angle between the axes, and
\(\mathbf{n}\) is the axis of rotation.
The corresponding reflection matrix for each axis is
\[\mathbf{H}_i = \mathbf{I} - 2 \mathbf{a}_i \mathbf{a}_i^\top.\]
By inspection, \(\mathbf{H}_i = \mathbf{H}_i^\top\) and
\(\mathbf{H}_i \mathbf{H}_i^\top =
\mathbf{H}_i^\top \mathbf{H}_i = \mathbf{I}\). Observe that the product of any
two reflection matrix is a rotation matrix because
\[\mathbf{H}_i \mathbf{H}_j \left( \mathbf{H}_i \mathbf{H}_j \right)^\top =
\mathbf{H}_i \mathbf{H}_j \mathbf{H}_j^\top \mathbf{H}_i^\top =
\mathbf{H}_i \mathbf{H}_i^\top =
\mathbf{I}.\]
The angle of a rotation matrix can be computed according to [Hab]
\[\begin{split}\text{tr}\left( \mathbf{H}_i \mathbf{H}_j \right)
&= \text{tr}\left(
\mathbf{I} - 2 \mathbf{a}_i \mathbf{a}_i^\top -
2 \mathbf{a}_j \mathbf{a}_j^\top +
4 \mathbf{a}_i \mathbf{a}_i^\top \mathbf{a}_j \mathbf{a}_j^\top
\right)\\
1 + 2 \cos \phi
&= 3 - 2 - 2 + 4 \cos^{2} \theta\\
\cos \phi &= -1 + 2 \cos^{2} \theta\\
&= \cos 2 \theta & \quad & \text{double-angle formula}.\end{split}\]
Let \(\mathbf{R} = \mathbf{H}_i \mathbf{H}_j\) denote a rotation formed by
any consecutive pair of reflections. Recall that repeatedly applying the same
rotation is equivalent to a single rotation representing the sum of the angles.
\[\mathbf{R}^n \implies n \phi = n \cdot 2 \theta = 2n \frac{360}{n} = 720.\]
Lastly, the center of rotation is an eigenvector because
\[\mathbf{R} \mathbf{c} =
\mathbf{H}_i \mathbf{H}_j \mathbf{c} =
\mathbf{H}_i \mathbf{c} =
\mathbf{c}.\]
References
- Bae
Andreas Baerentzen. Degrees of freedom. http://www.imm.dtu.dk/ janba/DOF.pdf. Accessed on 2016-12-09.
- Hab
Howard Haber. Three-dimensional rotation matrices. http://scipp.ucsc.edu/ haber/ph216/rotation_12.pdf. Accessed on 2017-01-27.
- RG11(1,2)
Jürgen Richter-Gebert. Perspectives on projective geometry: a guided tour through real and complex geometry. Springer Science & Business Media, 2011.
- Sch13
John Schreiber. Reflections and Their Images. PhD thesis, Franklin & Marshall College, 2013.