Plane given 3 homogeneous points

cross productgeometrylinear algebraprojective-geometryvectors

I am studying a slide from this lecture that says given three homogeneous points $v_1, v_2, v_3$ in 3D space, one can define the plane containing them as $\mathbf{\pi}=(v_1 \times v_2) \times (v_2 \times v_3)$. Does anyone know how this is derived or can forward me to the resources to understand this? I know of other methods to solving for $\mathbf{\pi}$ such as solving:
$$\begin{bmatrix} v_{1}^T\\ v_{2}^T\\ v_3^T\end{bmatrix}\mathbf{\pi}=0$$

However, I have never seen this formula before and am not sure how to derive/prove it.

For some context this is the slide, although most of the details on it are unimportant for understanding this problem.

enter image description here

Best Answer

What you are seeing is the intersection (meet) of two lines. Each line is defined from the connection (join) of two points. The $\times$ operator here isn't an actual cross product, because the cross product isn't defined for 4-vectors. I did not find where in the video they define the details of $\times$, but being an overview I doubt they went into this.

It is important to note that with planar homogeneous coordinates the line connecting two points is found using the vector cross product $\times$.

You can try it out, to find the $(a,b,c)$ coordinates of the line connecting the points $(x_1,y_1,1)$ and $(x_2,y_2,1)$ is

$$ \pmatrix{x_1 \\ x_1 \\ 1} \times \pmatrix{ x_2 \\ y_2 \\ 1} = \pmatrix{ y_1-y_2 \\ x_2 - x_1 \\ x_1 y_2 - x_2 y_1 }$$

making the equation of the line

$$ (y_1-y_2) x + (x_2-x_1) y + (x_1 y_2 - x_2 y_1) = 0 $$

Conversely, the point where two lines intersect is also found by the vector cross product $\times$. For example, two lines $u x + v y + w = 0$ and $p x + q y + r = 0$ meet at a point

$$ \pmatrix{ u \\ v \\ w} \times \pmatrix{p \\ q \\ r} = \pmatrix{ r v-q w \\ p w - r u \\ q u - p v } $$ with location $$ \pmatrix{x \\ y} = \pmatrix{ \frac{r v-q w}{q u - p v} \\ \frac{p w - r u}{q u - p v}}$$

So somehow in computer vision, the idea of some magical operator with symbol $\times$ exists that can be used to define the line where two points join ($v_1 \times v_2$) and the plane where two lines meet ($ (v_1 \times v_2) \times (v_2 \times v_3)$).

Note that the jump from 2D to 3D isn't trivial because of the way lines are defined.

  • In 2D we often use the $(a,b,c)$ coordinates for $ax + b y + c = 0$, where the vector $(a,b)$ is perpendicular to the line.

  • In 3D we often use Plücker coordinates $(\vec{e}, \vec{r}\times\vec{r})$ where the vector $\vec{e}$ is parallel to the line.

The realization I had is that a 2D line is a projection of a 3D plane that is perpendicular to the xy plane. A 3D plane is defined by the normal vector and the negative distance $(\vec{n},-d)$ and you get the exact 2D line coordinates if $\vec{n}=(a,b,0)$ and $d=-c$.

This is also evident that in 2D lines are dual to points, but in 3D lines are dual to lines, and points and dual to planes. So the $\times$ operator can be defined between dual objects (as well as the $\cdot$ operator for incidence) like points and lines in a plane, but not for points and lines in 3D.

So there is some trickery and magic going on here and they are glossing over some major details to get to a point.

Related Question