Really struggling with a question on coursera robotics perception:
Find the projective transformation $A$ which will keep the points $\boldsymbol{p}_{1}=(0,0,1)$ and $\boldsymbol{p}_{2} = (1,1,1)$ fixed and will map point $\boldsymbol{p}_{3} = (1,0,1)$ to $\boldsymbol{p}_{3}'=(1,0,0)$ and point $\boldsymbol{p}_{4} = (0,1,1)$ to $\boldsymbol{p}_{4}' = (0,1,0)$?
The answer is the matrix: \begin{bmatrix}-1&0&0\\0&-1&0\\-1&-1&1\end{bmatrix}
The idea from my lectures is to take 4 points (3 of which are not collinear) and use that to solve the equation:
$$\alpha \boldsymbol{a} + \beta \boldsymbol{b} + \gamma \boldsymbol{c} = \boldsymbol{d}$$
where $\boldsymbol{a}, \boldsymbol{b}, \boldsymbol{c}$ and $\boldsymbol{d}$ are the vector coordinates of 4 points.
If I pick $\boldsymbol{p}_{1}'$, $\boldsymbol{p}_{3}'$, $\boldsymbol{p}_{4}'$ and $\boldsymbol{p}_{2}'$ as $\boldsymbol{a}, \boldsymbol{b}, \boldsymbol{c}$ and $\boldsymbol{d}$ respectively I get the incorrect matrix. As far as I can see the point $\boldsymbol{p}_{1}'$, $\boldsymbol{p}_{3}'$, and $\boldsymbol{p}_{4}'$ are not collinear.
The actual solution uses $\boldsymbol{p}_{1}$, $\boldsymbol{p}_{3}$, $\boldsymbol{p}_{4}$ and $\boldsymbol{p}_{2}$ as $\boldsymbol{a}, \boldsymbol{b}, \boldsymbol{c}$ and $\boldsymbol{d}$ respectively and calculates the matrix the other way round.
Essentially gets the matrix that maps from $\boldsymbol{p}'$ to $\boldsymbol{p}$ and then inverts it.
I have no idea why that works (Gives a better estimate to exact)
Completely confused as to how one choses the correspondence points.
The answer here gives an estimate that is way off: projective matrix