Lines and projective isomorphism

269 Views Asked by At

Let $\rho : P(\mathbb{R^3}) \to P(\mathbb{R^3})$ be an homography, this is, a projective isomorphism induced from the isomorphism of vector spaces.

I'm trying to understand what information about $\rho$ do I get from knowing how it transforms points and lines.

For example, let's say $\rho$ transforms the point $(1:0:0)$ into $(0:1:0)$. Can I simply take:

$$\begin{bmatrix} 0 \\ 1 \\ 0 \\ \end{bmatrix} = \begin{bmatrix} h_{11} & h_{12} & h_{13} \\ h_{21} & h_{22} & h_{23} \\ h_{31} & h_{32} & h_{33} \end{bmatrix}. \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}$$

So that $h_{11}=0$, $h_{21}=\lambda$ and $h_{31}=0$? (Obviously $h_{ij}$ are coefficients of the matrix of $\rho$)

I'm guessing the answer is yes, but I'd like to be sure.

  • The main question is, if I have a line instead of a point, how does it work? For example, let $\sigma$ be a different homography that takes $x_0=0$ to $x_0+x_1=0$.

A brief description or the example worked out would be enough.

Thanks in advance!

1

There are 1 best solutions below

2
On BEST ANSWER

Can I simply take: $$\begin{bmatrix} 0 \\ 1 \\ 0 \\ \end{bmatrix} = \begin{bmatrix} h_{11} & h_{12} & h_{13} \\ h_{21} & h_{22} & h_{23} \\ h_{31} & h_{32} & h_{33} \end{bmatrix}. \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}$$

Almost. For a single point you can indeed use that equation. But if you have more than one point, then you have to remember that homogeneous coordinates are only defined up to a scalar factor, which might not be the same for both your points. So in general you'd rather write something like

$$\lambda\cdot\begin{bmatrix} 0 \\ 1 \\ 0 \\ \end{bmatrix} = \begin{bmatrix} h_{11} & h_{12} & h_{13} \\ h_{21} & h_{22} & h_{23} \\ h_{31} & h_{32} & h_{33} \end{bmatrix}\cdot \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}$$

Also see this post of mine about how to find the transformation matrix if you know four points and their images.

if I have a line instead of a point, how does it work?

These transformations preserve incidence, and incidence can be tested using the dot product: a point lies on a line if the dot product between their vectors is zero. So if you have a point $p$ and a line $l$, that incidence is $\langle l,p\rangle=l^T\cdot p =0$ if you treat $p$ and $l$ as a column vectors, and $l^T$ as the corresponding row vector. Now you expect the same result if you transform both point and line using some transformation. It turns out that if you apply $M$ to the point, you have to apply $(M^{-1})^T$ to the line, because then you have

$$\langle(M^{-1})^Tl,Mp\rangle=l^TM^{-1}Mp=l^Tp$$

so the left hand side of that equation is zero exactly if the right hand side is zero.

So you can use the same mechanism used for points in order to find the matrix mapping four lines to their images. If you then want to apply that transformation to points, you again have to invert and transpose. Or you just take the points of intersection between your lines, as computed by the cross product.