Supplemental material: QuaternionsProf. Aaron LantermanSchool of Electrical and Computer EngineeringGeorgia Institute of Technology2Quaternion definition! q = w + xi + yj + zk! ij = k ji = "kjk = i kj = "iki = j ik = "j! ii = "1 jj = "1 kk = "1 ijk = "1! " (w, x, y,z)! v = (x, y,z)! " (w,v)3Quaternion multiplication! q = w + xi + yj + zk = (w,v)! v = (x, y,z)! q1q2= (w1w2" v1# v2,w1v2+ w2v1+ v1$ v2)! = (w1w2" x1x2" y1y2" z1z2,w1x2+ x1w2+ y1z2" z1y2,w1y2+ y1w2+ z1x2" x1z2,w1z2+ z1w2+ x1y2" y1x2)4Quaternion conjugate and inverse! q"= w # xi # yj # zk = (w,#v)! q"1=q#qConjugate:Multiplicative inverse:5Quaternion representations of rotations• Quaternion representation of arotation of radians around axisdefined by the unit vector ! q = cos"2# $ % & ' ( ,sin"2# $ % & ' ( r u # $ % & ' ( • Rotations compose with quaternionmultiplication• Notice has unit norm! " ! r u ! q6Rotating points! (0, x', y',z') = q(0, x, y,z)q"1! = q(0, x, y,z)q*• Embed 3-D Cartesian coordinates inlast three components of a quaternion7Unit quaternion to rotation matrix! R =1" 2y2" 2z22xy " 2wz 2xz + 2wy2xy + 2wz 1" 2x2" 2z22yz " 2wx2xz " 2wy 2yz + 2wx 1" 2x2" 2y2# $ % % % & ' ( ( ( • Applying matrix to a vector takes a few operationsless than applying quaternion to a vectorwww.sjbrown.co.uk/?article=quaternionsAdvice from Simon Brown, “Representing Rotations in Quaternion Arithmetic”! x'y'z'" # $ $ $ % & ' ' ' = Rxyz" # $ $ $ % & ' '
View Full Document