Reputation: 32192
What is the normal use case for Point4D vs Point3D?
Is it for handling special geometry or just carrying a scalar field value around with the point or something more specialized?
Upvotes: 1
Views: 783
Reputation: 16907
In order to represent a 3D affine transform where there might be a translation in addition to scaling and rotation as a matrix transform, you need to extend to 4D points and a 4x4 augmented matrix. (Consider that a 3x3 matrix could not translate the point (0, 0, 0) to a different location.)
In WPF the Matrix3D structure represents a 4x4 matrix, and Point4D is the augmented vector structure that you can multiply by a Matrix3D matrix. The extended vectors are sometimes called 'homogeneous 3D coordinates'.
Upvotes: 2