• Create Account

What is Skewsymmetric matrix?

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

3 replies to this topic

#1stefu  Members

120
Like
Likes
Like

Posted 01 October 2001 - 11:04 PM

A rigid object tutorial used skew symmetric matrix in it''s calculations. What is it? What is the result of skewsymmetricMatrix multiplied by orientationMatrix?
  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!

#2xSi  Members

122
Like
Likes
Like

Posted 01 October 2001 - 11:33 PM

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)

#3stefu  Members

120
Like
Likes
Like

Posted 02 October 2001 - 05:57 AM

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?

#4xSi  Members

122
Like
Likes
Like

Posted 02 October 2001 - 09:30 AM

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

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.