Originally posted by DFrey:
I think you probably mean world coordinates instead of local correct? A single transformation matrix would be fastest I think. But for better readability, you might prefer to use a position vector and rotation vector. For the best readibility, but not best performance, you could use a position vector and Euler angles (watch out for gimbal lock though). I personally would likely choose the position vector and rotation matrix.
Hmm… yeah, this sounds about along the lines of what I was just devising. Something akin to the following:
Store the “UP” vector of the object, possibly along with the angle about that vector the the “FRONT” vector lies.
Would that be difficult to convert to a rotation matrix? I don’t think so… but please correct me if I am wrong?
Basically, I like it because it drops me down to 4 floats worth of storage, and a very intuitive representation.
Also, I am assuming that I “MUST” store the angle to the front vector otherwise I don’t have full orientation data… correct? (ie: I know which was is up, but I don’t know which way I’m facing)
That would give me all three dimensions of orientation data, correct? If I were to neglect the angle, I’d have two dimensions of accuracy, but the third would be correct to +/-180 degrees… (top/bottom, left/right, front/back), depending on which axis I stored, right?
I really which I stayed with math in college now.