Why are these matrices oddly sized? 
With regards to  the above image which was delivered as a slide in a Computer Vision course, I can't understand why this matrix multiplication is represented as a $4\times4$ * $4\times1$ where I feel as though the same result could be achieved with a $3\times3$ * $3\times1$.
Is there some missing information around this that y'all can shine some light on? I'm sure there must be some underlying reason.
 A: This neat little trick makes computer graphics a lot easier to handle under the hood. Here is the gist of it:
Positions are four-dimensional vectors where the fourth component is $1$. Displacements (distances, velocities, etc.) are four-dimensional vectors where the fourth component is $0$. In other words, objects live not in $\Bbb R^3$, but in a hyperplane in $\Bbb R^4$, and displacements live in a distinct, parallel hyperplane of the same $\Bbb R^4$
Some consequences of this are:

*

*Some extra power of bug-discovery: The fourth component should ever only be either $0$ or $1$. If it's anything else, you know you've added two positions, or subtracted a position from a displacement rather than the other way around, and so on.

*Translations can now also be linear maps, and as such be represented as matrix multiplication just as scaling and rotation. This makes it much easier to handle multiple transformations in a row.

*Displacements are correctly changed by rotations and scalings, and correctly unchanged by translations. This means we don't have to check every single vector whether it's a displacement or a position before applying a series of transformations, the arithmetic will do that automatically.

*You can place objects in the displacement hyperplane, and they will then in many respects behave like they are "infinitely far away". The sky is a common thing to do this with.

A: This kind of matrices are used to represent affine transformations. See here.
Linear transformations can be represented by $3\times 3$ matrices, but they can't represent translations, since $A0=0$. If another entry is added to the vectors (and another column and row to the matrices) then translations can also be represented and worked through matrix operations.
