Point package:linear
A handy wrapper to help distinguish points from vectors at the type
level
Convert a 3-dimensional affine point into a 4-dimensional homogeneous
vector, i.e. sets the w coordinate to 1.
Convert 4-dimensional projective coordinates to a 3-dimensional point.
This operation may be denoted, euclidean [x:y:z:w] = (x/w, y/w,
z/w) where the projective, homogenous, coordinate
[x:y:z:w] is one of many associated with a single point
(x/w, y/w, z/w).