# Given the projectivity $\textbf x'=H\textbf x$, why is $\textbf x' \times H\textbf x = 0$?

I'm referring to section 4.1 in Multiple View Geometry by Hartley, where the Direct Linear Transformation (DLT) algorithm is explained.

I have the intuition that since the points $$\textbf x_i'$$ and $$\textbf x_i$$ are correspondences of two different planes, then $$\textbf x_i'$$ and $$H\textbf x_i$$ will be in the same ray and hence, their cross product will be zero. Is this correct? How can I prove this?

Also, in Wikipedia, in the example paragraph of the DLT article, there is a similar relation, but I can't completely grasp it:

$$\textbf x_k^T\textbf H\textbf x_k=0$$

Could you give me an intuition on why these two expressions are zero?

• It’s worth noting the the $H$ in your first question represents a homography, but the $H$ in your second question is a skew-symmetric matrix introduced to eliminate extraneous variables. – amd Mar 21 at 18:02

The first is a computational trick to avoid introducing extraneous variables. Since you’re dealing with homogeneous vectors, given a point correspondence $$\mathbf x_i$$ and $$\mathbf x_i'$$, the relation between the two coordinate vectors is actually $$\mathbf x_i'\propto H\mathbf x_i$$. Now, the cross product of two elements of $$\mathbb R^3$$ vanishes iff one is a scalar multiple of the other, so instead of expressing the constraint as $$\mathbf x_i'=k_iH\mathbf x_i$$ for some unknown $$k_i$$, which would mean introducing one of these additional variables for each point pair, it is expressed as $$\mathbf x_i'\times H\mathbf x_i=0$$. This generates three equations, only two of which are independent.

As for $$\mathbf x_k^TH\mathbf x_k=0$$, it’s a basic property of all skew-symmetric matrices: for any vector $$\mathbf v$$ we have $$(\mathbf v^TH\mathbf v)^T = \mathbf v^TH^T\mathbf v = -\mathbf v^TH\mathbf v$$, therefore $$\mathbf v^TH\mathbf v=0$$. (In the initial example, $$H$$ happens to represent a counterclockwise rotation through an angle of $$\pi/2$$, so it should be obvious that any vector is orthogonal to its product with $$H$$ even if you didn’t happen to know about this property.) The skew-symmetric matrix $$H$$ is introduced to eliminate the constant of proportionality much as was the cross product above. In fact, the Wikipedia article farther down mentions the possibility of using a cross product instead when $$\mathbf x_k\in\mathbb R^3$$.

When $$\mathbf x_k\in\mathbb R^2$$, another way of expressing the constraint $$\mathbf x_k\propto A\mathbf y_k$$ as an equality without introducing an extraneous variable is $$\det\begin{bmatrix}\mathbf x_k & A\mathbf y_k\end{bmatrix} = 0,$$ but like the cross product for $$\mathbb R^3$$, this doesn’t generalize to higher dimensions. Indeed, if you expand this expression, you get exactly the same equations that you do from $$\mathbf x_k^THA\mathbf y_k=0$$ with $$H=\tiny{\begin{bmatrix}0&-1\\1&0\end{bmatrix}}$$.

you should be able to prove this by using the definitions of anti-symmetric matrices. your intuition is correct though, Hx would give a projection and since x'=Hx , then they are parallel, and when you cross product parallels you get zero. but you need to use definitions and theorems/lemmas for proofs.

the 2nd expression follows from the definition of the anti-symmetric matrices. do a test case using x_i,j's

• The cross product of any vector with itself is the 0 vector. – user247327 Mar 21 at 0:12
• How do you know that $H$ is antisymmetric? In this context it represents a homography between two planes, and therefore could be any invertible $3\times3$ matrix whatsoever. – amd Mar 21 at 0:15
• @amd The matrix $H$ in the Wikipedia article is not the matrix of the projectivity (they call it A instead). The matrix $H$ is introduced by them and defined as anti-symmetric. – Makondo Mar 21 at 1:21
• Ah, you’re right. It’s a somewhat opaque way to eliminate the constant of proportionality—a determinant would express the colinearity of the vectors directly—but it does extend to dimensions $\gt 3$, while the determinant or cross product don’t. – amd Mar 21 at 7:09