void Matrix3::SkewSymmetric(Vector3 crossVector)
{
_11 = 0.0f; _12 = -crossVector.z; _13 = crossVector.y;
_21 = crossVector.z; _22 = 0.0f; _23 = -crossVector.x;
_31 = -crossVector.y; _32 = crossVector.x; _33 = 0.0f;
}
Thanks!
What is Skewsymmetric matrix?
A rigid object tutorial used skew symmetric matrix in it''s calculations. What is it? What is the result of skewsymmetricMatrix multiplied by orientationMatrix?
A skew-symmetric matrix is used primarily to hold a vector cross product. You will note from the code snippet you posted that
SkewSymmetric(v) * w
= ( v.y*w.z - v.z*w.y, ... )
= CrossProduct(v, w)
In general, if you multiply a skew symmetric matrix by an orientation matrix (with is by definition orthonormal), you will not get a matrix of any particular structure.
If you use SkewSymmetric(v) for |v| = 1 however, you will get another orientation matrix, since CrossProduct(v, w) will in essence rotate w until it is perpendicular to v & w. (Provided v and w are not co-linear, otherwise you will get the zero matrix)
SkewSymmetric(v) * w
= ( v.y*w.z - v.z*w.y, ... )
= CrossProduct(v, w)
In general, if you multiply a skew symmetric matrix by an orientation matrix (with is by definition orthonormal), you will not get a matrix of any particular structure.
If you use SkewSymmetric(v) for |v| = 1 however, you will get another orientation matrix, since CrossProduct(v, w) will in essence rotate w until it is perpendicular to v & w. (Provided v and w are not co-linear, otherwise you will get the zero matrix)
Thanks, that helped me a bit.
By the way, I use matrices where vectors are presented as rows (not as columns). Do I need to transpose this skewsym matrix, because the tutorial used column matrices?
By the way, I use matrices where vectors are presented as rows (not as columns). Do I need to transpose this skewsym matrix, because the tutorial used column matrices?
yep - if you''re using row vectors then be careful about whether you should be using the transpose or not of your original definition.
if in doubt - multiply out (!)
-xsi
if in doubt - multiply out (!)
-xsi
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement