30.12.2013 Views

Quaternions and Rotations∗ - Iowa State University

Quaternions and Rotations∗ - Iowa State University

Quaternions and Rotations∗ - Iowa State University

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3 Quaternion Rotation Operator<br />

How can a quaternion, which lives in R 4 , operate on a vector, which lives in R 3 ? First, we note<br />

that a vector v ∈ R 3 is a pure quaternion whose real part is zero. Let us consider a unit quaternion<br />

q = q 0 + q only. That q 2 0 + ‖q‖2 = 1 implies that there must exist some angle θ such that<br />

cos 2 θ = q 2 0 ,<br />

sin 2 θ = ‖q‖ 2 .<br />

In fact, there exists a unique θ ∈ [0,π] such that cos θ = q 0 <strong>and</strong> sin θ = ‖q‖. The unit quaternion<br />

can now be written in terms of the angle θ <strong>and</strong> the unit vector u = q/‖q‖:<br />

q = cos θ + usin θ.<br />

Pure <strong>Quaternions</strong><br />

R<br />

3<br />

v<br />

v = 0 + v<br />

R<br />

4<br />

<strong>Quaternions</strong><br />

Using the unit quaternion q we define an operator on vectors v ∈ R 3 :<br />

L q (v) = qvq ∗<br />

= (q 2 0 − ‖q‖ 2 )v + 2(q · v)q + 2q 0 (q × v). (3)<br />

Here we make two observations. First, the quaternion operator (3) does not change the length of<br />

the vector v for<br />

‖L q (v)‖<br />

= ‖qvq ∗ ‖<br />

= |q| · ‖v‖ · |q ∗ |<br />

= ‖v‖.<br />

Second, the direction of v, if along q, is left unchanged by the operator L q . To verify this, we let<br />

v = kq <strong>and</strong> have<br />

qvq ∗<br />

= q(kq)q ∗<br />

= (q0 2 − ‖q‖ 2 )(kq) + 2(q · kq)q + 2q 0 (q × kq)<br />

= k(q0 2 + ‖q‖2 )q<br />

= kq.<br />

The two observations make us guess that the operator L q acts like a rotation about q. This is made<br />

precise by the next theorem.<br />

Before proceeding with the theorem, we remark that the operator L q is linear over R 3 . For any<br />

two vectors v 1 ,v 2 ∈ R 3 <strong>and</strong> any a 1 ,a 2 ∈ R we can show that<br />

L q (a 1 v 1 + a 2 v 2 ) = a 1 L q (v 1 ) + a 2 L q (v 2 ).<br />

4

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

Saved successfully!

Ooh no, something went wrong!