When are two lines in 3 dimensional space parallel, when the lines are both represented by Plücker matrices $L$ and $L'$.

I'm trying to prove the solution to this question: https://photo.stackexchange.com/q/54088/7718

I know that $L:=AB^T - BA^T$ and $L':=CD^T - DC^T$. Because everything I know about Plücker matrices I've learned in the past hour, I am stuck. Given that I could not find any references online with a solution, maybe someone could add one here...

Plücker Matrix vs Plücker coordinates

In theory both the Plucker matrix and the plucker coordinates are interchangeable. I am asking explicitly about the matrices, because projective geometry is easier this way. Specifically, I know from MVG (Multiple View Geometry by Hartley and Zisserman) p 70 that a line in 3-space will be projected into the image in 2-space as $[l]_x = PLP^T$. Here, P is the camera matrix (3x4) and L is the Plucker matrix and $[l]_x$ is the homogeneous line in 2-space in the crossproduct matrix form.


A previous version of this question stated that the condition for lines to be parallel is that their Product of Differences had to be zero. $(A-B)(C-D) = 0$. This is, of course, incorrect as A, B, C, and D are homogeneous coordinates.

  • 1
    $\begingroup$ For the lines to be parallel it is sufficient to demonstrate that the top rows of the Plücker matrices are linearly dependent. $\endgroup$ – Andrey Sokolov Apr 20 '15 at 10:20

General approach

I'm more used to writing down the Plücker description of a line as a single six-dimensional vector of Plücker coordinates, as opposed to Plücker matrices, but that's mostly notation. Anyway, one possible approach to decide whether two lines are parallel is the following: intersect one line with the line at infinity, then use that point of intersection together with the other line to define a plane. If the point of intersection lies on that other line, the plane is underspecified, and the result will be the null vector. So you'd end up with four equations which have to be zero at the same time.

Therefore I'm suspicious of any approach which boils this down to a single equation, unless you simply rely on the fact that numbers are real so you can test the norm of that vector to see whether it's zero. The formula you state is suspicious for another reason as well: subtracting points results in a point somewhere along the line, but where exactly depends on the representatives you choose for the points. I guess you had standard representatives in mind, with a one in one entry, but relying on representatives is bad style in projective geometry.

Possible computation

Here is what I'd compute. I'm following the notation from a German book, namely Geometriekalküle by Richter-Gebert and Orendt. There are many variations regarding notation, order of elements and handling of signs, but the overall concept should be the same for any notation of Plücker coordinates.

Suppose you have poins $A=(a_1,a_2,a_3,a_4)$ and likewise for $B,C,D$. Then the line $A\vee B$ can be represented as the vector

$$g=A\vee B= \begin{array}{c} \scriptsize 12\\ \scriptsize 13\\ \scriptsize 14\\ \scriptsize 23\\ \scriptsize 24\\ \scriptsize 34 \end{array} \left(\begin{array}{c} a_1b_2-a_2b_1\\ a_1b_3-a_3b_1\\ a_1b_4-a_4b_1\\ a_2b_3-a_3b_2\\ a_2b_4-a_4b_2\\ a_3b_4-a_4b_3 \end{array}\right)$$

The Plücker matrix you described would be

$$AB^T-BA^T=\begin{pmatrix} 0 & g_{12} & g_{13} & g_{14} \\ -g_{12} & 0 & g_{23} & g_{24} \\ -g_{13} & -g_{23} & 0 & g_{34} \\ -g_{14} & -g_{24} & -g_{34} & 0 \end{pmatrix}$$

You can see how the two representations contain the same information. Now I'd intersect that with the line at infinity. The intersection with any plane $E$ can be computed as

$$g\wedge E= \begin{array}{c} \scriptsize 1\\ \scriptsize 2\\ \scriptsize 3\\ \scriptsize 4 \end{array} \left(\begin{array}{c} g_{12}E_{134} - g_{13}E_{124} + g_{14}E_{123}\\ g_{12}E_{234} - g_{23}E_{124} + g_{24}E_{123}\\ g_{13}E_{234} - g_{23}E_{134} + g_{34}E_{123}\\ g_{14}E_{234} - g_{24}E_{134} + g_{34}E_{124} \end{array}\right)$$

But the plane at infinity has a particularly simple form. I'm assuming that you homogenize using the last coordinate of your vectors, in which case you'd write the plane at infinity as

$$E_\infty=\begin{array}{c} \scriptsize 123\\ \scriptsize 124\\ \scriptsize 134\\ \scriptsize 234 \end{array} \left(\begin{array}{c} 1\\0\\0\\0 \end{array}\right)$$

so the intersection with $g$ becomes

$$P=g\wedge E_\infty= \begin{array}{c} \scriptsize 1\\ \scriptsize 2\\ \scriptsize 3\\ \scriptsize 4 \end{array} \left(\begin{array}{c} g_{14}\\ g_{24}\\ g_{34}\\ 0 \end{array}\right)= \begin{array}{c} \scriptsize 1\\ \scriptsize 2\\ \scriptsize 3\\ \scriptsize 4 \end{array} \left(\begin{array}{c} a_1b_4-a_4b_1\\ a_2b_4-a_4b_2\\ a_3b_4-a_4b_3\\ 0 \end{array}\right)$$

Now you also compute the line spanned by $C$ and $D$:

$$h=C\vee D= \begin{array}{c} \scriptsize 12\\ \scriptsize 13\\ \scriptsize 14\\ \scriptsize 23\\ \scriptsize 24\\ \scriptsize 34 \end{array} \left(\begin{array}{c} c_1d_2-c_2d_1\\ c_1d_3-c_3d_1\\ c_1d_4-c_4d_1\\ c_2d_3-c_3d_2\\ c_2d_4-c_4d_2\\ c_3d_4-c_4d_3 \end{array}\right)$$

Then you try to compute a plane spanned by this line and $P$:

$$h\vee P=\begin{array}{c} \scriptsize 123\\ \scriptsize 124\\ \scriptsize 134\\ \scriptsize 234 \end{array} \left(\begin{array}{c} h_{12}P_3 - h_{13}P_2 + h_{23}P_1 \\ h_{12}P_4 - h_{14}P_2 + h_{24}P_1 \\ h_{13}P_4 - h_{14}P_3 + h_{34}P_1 \\ h_{23}P_4 - h_{24}P_3 + h_{34}P_2 \end{array}\right)\\ =\begin{array}{c} \scriptsize 123\\ \scriptsize 124\\ \scriptsize 134\\ \scriptsize 234 \end{array} \left(\begin{array}{c} (c_1d_2-c_2d_1)(a_3b_4-a_4b_3) - (c_1d_3-c_3d_1)(a_2b_4-a_4b_2) + (c_2d_3-c_3d_2)(a_1b_4-a_4b_1) \\ 0 - (c_1d_4-c_4d_1)(a_2b_4-a_4b_2) + (c_2d_4-c_4d_2)(a_1b_4-a_4b_1) \\ 0 - (c_1d_4-c_4d_1)(a_3b_4-a_4b_3) + (c_3d_4-c_4d_3)(a_1b_4-a_4b_1) \\ 0 - (c_2d_4-c_4d_2)(a_3b_4-a_4b_3) + (c_3d_4-c_4d_3)(a_2b_4-a_4b_2) \end{array}\right)$$

If these four terms are all zero, then this plane is not well defined, i.e. the point $P$ lies on the line $h$, i.e. the two lines $g$ and $h$ lie in a single plane and intersect at infinity, i.e. they are parallel lines.

There might be a notation to accomplish the above computation using Plücker matrices, but I'm happy with Plücker coordinates, so I don't feel like investigating that just now.

Note that if any vector along the way is the null vector, the final result will be null as well. So if $A$ and $B$ are the same point, $g$ is null. If $g$ lies ocmpletely in the plane at infinity, $P$ is null. But if $P$ and $h$ are non-null, then you really have parallelity if the result is null.

| cite | improve this answer | |

This is much easier!

In Hartley notation, the direction of the line $\mathcal{L}$ is encoded in the vector $(l_{14}, l_{24}, l_{34})^\top$ , which can be found in the right column of the matrix $L$.

If you have another line $M$ and you want to know if it is parallel, then check if the cross-product of their direction vectors is zero:

$(l_{14}, l_{24}, l_{34})^\top\times(m_{14}, m_{24}, m_{34})^\top=0$

See https://en.wikipedia.org/wiki/Plucker_matrix#Properties

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.