I read a code about 3x3 matrix related calculation, and there is no comment for all the code.
There is a crossMatrix function, which, I don't understand. It is defined as:
void Matrix3x3::v31xv31_crossMatrix(Vector inV, double diag, Matrix3x3 *poutM) {
poutM->m33_setZero(poutM);
poutM->m[0] = diag;
poutM->m[4] = diag;
poutM->m[8] = diag;
poutM->m[3] = inV.m[2];
poutM->m[1] = -inV.m[2];
poutM->m[6] = -inV.m[1];
poutM->m[2] = inV.m[1];
poutM->m[7] = inV.m[0];
poutM->m[5] = -inV.m[0];
}
By writing elements as matrix in math, it looks like this:
diag -m[2] m[1]
m[2] diag -m[0]
-m[1] m[0] diag
I'm not familiar with this form. Any idea what this matrix is called? What does it do?