Yes, multiplying the three matrices in turn will compose them.
Yes, multiplying the three matrices in turn will compose them. EDIT: The order that you apply multiplication to the matrices will determine the order the rotations will be applied to the point. P × (X × Y × Z) Rotations in X, Y, then Z will be performed P × (Y × X × Z) Rotations in Y, X, then Z will be performed P × (Z × X × Y) Rotations in Z, X, then Y will be performed.
1 Note though that it may or may not be the rotation that you're expecting (remember than in 3D, rotations do NOT commute. ) – user168715 Oct 20 '10 at 21:26 But note that the order of composition matters - matrix multiplication is not commutative, and neither are rotations about different axes. – walkytalky Oct 20 '10 at 21:29 First, decide which order to apply the rotations (say X then Y then Z).
Then, it also depends on your convention of whether your points are row vectors or column vectors. For row vectors, you have ((r*X)*Y)*Z = r*(XYZ) -- vs. column vectors, you have Z*(Y*(X*c))=(ZYX)*c . – comingstorm Oct 20 '10 at 23:29 I've updated my question, please could you clarify a little further?
– Mark Ingram Oct 21 '10 at 8:08.
As an aside and if you're early enough in your development activities here, you might want to consider using quaternion rotation. It has a number of comparative advantages to matrix based approaches.
It actually is really important what order you apply your rotations in. The order you want depends on what you want the rotations to do. For instance, if you are modeling an airplane, you might want to do the roll first (rotate along the long axis of the body), then the pitch (rotate along the other horizontal axis), then the heading (rotate along the vertical axis).
This would be because, if you did the heading first, the plane would no longer be aligned along the other axes. Beyond that, you need to deal with your conventions: which of these axes correspond to X, Y, and Z? Generally, you only want to choose a particular rotation order for specific applications.It doesn't make much sense to define a generic "XYZrotation" object; typically, you will have generic transformations (i.e.
, matrices that can be any concatenation of rotations, translations, etc. ) and various ways to get them (e.g. , rotX, rotY, translate, scale...), plus the ability to apply them in a particular order (by doing matrix multiplication). If you want something that can only represent rotations and nothing else, you might consider quaternions (as anand suggests). However, you still need to decide which order to perform your rotations in, and, again, it doesn't really make sense to hardwire a required order for that.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.