Karlos wrote:
Your best bet is to create a Vector type that has x,y,z,1. You can use a 4x4 matrix to perform any transformation on such a vector - rotation, scaling, translation, projection, you name it.
What is the purpose of the fourth element (1) in that type? Someone already mentioned quaternions in this thread, are you mimicking those by any chance?