jyk March 24, 2005, 11:27 PM 

"One last thing... to compute the inverse of the "translation matrix" i can transpose the 3x3 upper left submatrix (assuming that is is orthogonal, because it is in most cases) and change the sign of the translation vector. Is that correct?"
Depending on what you mean, I think the answer is no (although I may be mistaken, or misunderstanding the question).
Let's assume that by 'translation matrix' you mean 'transformation matrix'. Let's also assume it's a rigid body transform, that is, it only contains rotation and translation (no scaling, shearing, etc.)
Using column vectors, we can write the matrix as:
M = T * R
Where R is a rotation matrix, and T is a translation matrix. By 'translation matrix', I mean a matrix which is identity, except for the translation vector which goes in the right column.
In general, (A*B)1 = B1*A1. So:
M1 = R1 * T1
R1 is simply R transposed, and T1 is simply T with the translation vector negated. So those are easy to compute, and no general inverse is required. You'll note, however, that the translation vector of M1 is not the negative of the original translation vector, but rather the negative of the original translation vector, rotated by the inverse rotation.
So I'm pretty sure it's not as easy as transposing the upperleft 3x3 matrix and negating the translation vector. But, it is as easy as trivially inverting T and R and multiplying them in reverse order.
