Plane given 3 homogeneous points

386 Views Asked by At

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

1

There are 1 best solutions below

0
On 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.