Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Forums like these give me faith in humanity.I am busy with little

  1. Aug 30, 2012 #1
    Forums like these give me faith in humanity.

    I am busy with little project and I've just come out of angular physics after taking a deep breath only to have my head pushed back into the black deep waters of quaternions. I thought having the angular velocity is all I need, and I simply had to add the angular velocity to the current orientation for the rotation to work. "NOPE!" laughed whatever god was in charge of rotational maths, "Now suffer" he uttered the words. The god of mercy gave me this site, and I hope the god of explaining uses it.

    My questions are:
    I have my angular velocity as a 3D vector, great. Why can't I directly translate angular velocity to rotation? And what makes quaternions so star spangling special that they can? And every time I think I'll reach some downhill in the programming of my project where I can just cruise on the hard earned knowledge of getting up this hill, I see another cliff I have to climb, so can you guys tell me what else I might run into?

    Thank you very much

  2. jcsd
  3. Aug 30, 2012 #2
    Re: Quaternions

    3D rotations are tricky. That's because they are not commutative. So mathematically that's modeled by non-commutative things as well. Either 3x3 rotation matrices, or quaternions. Both work, but quaternions are sometimes seen as the better tool. This article seems to explain that nicely: http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
  4. Aug 30, 2012 #3
    Re: Quaternions

    Conceptually, it's better to think of rotations happening in a plane rather than about an axis. When you rotate an arbitrary vector, you need to find the parts that lie in the rotational plane and rotate them while leaving the parts outside (perpendicular to) the rotational plane alone. Quaternions give a very turn-crank, "don't need to think about it" approach to doing this. The math itself may be a little exotic, but once you do understand it, you can easily turn any angular velocity into a quaternion and find the associated rotation.

    So quaternions are of great interest at least historically. To marry them into a traditional vector algebra framework may be unclear, but geometric algebra handles that very well (as well as the entire theory of linear algebra on finite vector spaces in a way that is coordinate free).
  5. Aug 31, 2012 #4
    Re: Quaternions

    Thanks, I've read up a bit more, but I can't find anything that tells me what they actually are, or how a graph of one will change if you increase a value by one, or if they have amplitude or anything. Is it possible to explain how a quaternion looks or feels?
  6. Aug 31, 2012 #5
    Re: Quaternions

    Perhaps the best way to think about it is to see how rotations are built from reflections. Any two successive reflections builds up a rotation. You just need to know the two normal vectors to the plane of reflection to do this. The scalar part of the quaternion is the dot product of these two vectors. The imaginary part comes from the cross product of the two vectors.

    Generally, I stop there and just say it's a scalar number plus a plane of rotation (cross products should technically make planes). Geometrically picturing this union is somewhat difficult, I admit.

    Quaternions do have amplitude, and if the magnitude of a quaternion isn't 1, then it will also dilate any vector it acts upon (stretching as well as rotating).
  7. Aug 31, 2012 #6


    User Avatar
    Science Advisor

    Re: Quaternions

    Well, if you understand how to picture a complex number as a 2D vector, quaternions are kind of like that, but in 4D.

    In terms of how they work with rotations... That's a bit more complicated. Unit quaternions are isomorphic to an SU(2) group under multiplication. SU(2) is homomorphic to SO(3), which is a group corresponding to rotations. In other words, to every rotation you may assign a unit quaternion in such a way, that combining rotations is equivalent to multiplying corresponding quaternions.

    You don't have to work with quaternions, however. The graphics card, for example, handles rotations and transformations via transformation matrices. These are 4x4, with a 3x3 sub-matrix corresponding to rotation. Set of 3x3 unitary matrices (with positive determinant) is how the rotation group SO(3) is defined. To generate a rotation matrix from a vector giving axis and an angle, you can use the Rodrigues' rotation formula. See the "conversion to rotation matrix" section.
  8. Sep 2, 2012 #7
    Re: Quaternions

    Wow, thanks a lot. I might not develop a very personal relationship with them just by reading the answers, but they definitely tell me which direction to look in or what other terms to search for.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook