13.07.2015 Views

Using Rotations to Build Aerospace Coordinate Systems - Defence ...

Using Rotations to Build Aerospace Coordinate Systems - Defence ...

Using Rotations to Build Aerospace Coordinate Systems - Defence ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DSTO–TN–0640so that (3.2) yields R y (90 ◦ ) trivially.) The required rotated vec<strong>to</strong>r is thenas expected.⎡ ⎤ ⎡ ⎤⎡⎤ ⎡ ⎤2 0 0 1 2 0R y (90 ◦ ) ⎣0⎦ = ⎣ 0 1 0⎦⎣0⎦ = ⎣ 0⎦ , (3.12)0 −1 0 0 0 −2An example of combining two rotations is given in Appendix A. As stated by Euler’stheorem, the effect of these is just one rotation, although the values of the resultingequivalent axis and angle turned through are not obvious at all from the original two axesand angles.The rows of a rotation matrix will gradually lose their mutual orthonormality becauseof rounding errors under repeated iterations in a computer programme. This wanderingcan be kept in check by periodically re-orthogonalising, accomplished byR → R ( R t R ) −1/2 . (3.13)Rotation Order and its Possible Blind ApplicationSince matrix multiplication is not commutative, two rotations are also not in general commutative:the result depends on the order in which they are done. However, infinitesimalrotations are commutative. This fact can be used <strong>to</strong> our advantage when writing computercode that takes inputs from a joystick, in order <strong>to</strong> rotate a scene (say, in a flightsimula<strong>to</strong>r). The pilot might induce both a pitch and a roll, but only by applying each ofthese in tiny increments will the software successfully reproduce the effect that the pilotwants.Nevertheless, it’s possible <strong>to</strong> go <strong>to</strong> an extreme of demanding a set rotation order thatdoes not mimic what the user of a software package wants, but that does do somethinghighly misleading. In fact, a search through the internet shows that this mistake seems <strong>to</strong>be a classic of computer graphics programming, and has caused some in that community <strong>to</strong>distrust the mathematics of rotation. An example of this incorrect application of rotationsis discussed in Appendix C.3.4 Rotating using QuaternionsAlthough the rotation matrix R n (θ) has nine entries, it’s really only built from three numbers:the angle θ turned through, and any two components of n; the third component of nis then implied, since n has unit length. <strong>Using</strong> R n (θ) can be computationally inefficient,since not only do all nine components need <strong>to</strong> be manipulated, but if the matrix is appliedwithin a loop, perhaps thousands of times, numerical inaccuracies can degrade itsorthogonality. That is, its rows (or equivalently columns) will slowly lose their mutualorthonormality. It can certainly be periodically re-orthogonalised after an appropriatenumber of iterations, as shown in (3.13). Nevertheless, the question arises as <strong>to</strong> whetherany way exists of rendering the matrix down <strong>to</strong> its basic three numbers, and perhapseliminating some of the numerical complexity in the process.9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!