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

A Angle between two quaternions

  1. Apr 11, 2016 #1
    Hello!

    I have two quaternions with norm equal to 1. Both are represented in the angle-phase form, i.e, I have q=exp(i*\phi)exp(k*\psi)exp(j*\theta) and p=exp(i*\phi')exp(k*\psi')exp(j*\theta'). Let \alpha be the angle between q and p. I need to write \alpha in function of \phi-\phi', \psi-\psi' and \theta-\theta' in a simple way. Could anyone give me some idea?
     
  2. jcsd
  3. Apr 11, 2016 #2

    BiGyElLoWhAt

    User Avatar
    Gold Member

    In any vector space, ##A\cdot B = |A||B|cos(\theta)## with theta the angle between two vectors and ##\cdot## the inner product.
    A quick google search gives this:
    https://www.researchgate.net/post/How_do_I_calculate_the_smallest_angle_between_two_quaternions [Broken]
    Which says use the dot product.
     
    Last edited by a moderator: May 7, 2017
  4. Apr 11, 2016 #3
    The "inner product" would be good for me if p and q were in Cartesian form. My problem is that I need to write \alpha in function of \phi-\phi', \psi-\psi' and \theta-\theta' in a simple way. The quartenions q and p are in the phase-angle form and I can not convert the quaternions to the Cartesian form. This is my challenge!

    Thanks
     
  5. Apr 11, 2016 #4

    BiGyElLoWhAt

    User Avatar
    Gold Member

  6. Apr 21, 2016 #5
    I assume by Angle-Phase-Form you mean the polar decomposition as in here:
    https://en.wikipedia.org/w/index.ph...5732179#Exponential.2C_logarithm.2C_and_power

    You still need an rotation angle for each quaternion (you only gave 3 components, but you need still need the angle).
    Be aware that the actual rotation angle is [itex]2 \cdot \theta[/itex]!

    ----

    I don't have a good answer, but what you need is related to the angle used in a Quaternion Slerp
    http://www.geometrictools.com/Documentation/Quaternions.pdf
    You might find "2. Relationship of Quaternions to Rotations" useful in that document.

    Here is some code by James McEnnan I use in my own project to get the angle and the eigen-axis (rotation axis) between two quaternions, see function getang here:
    https://sourceforge.net/p/qspline-cc0/code/1/tree/qspline/trunk/qspline.c#l378
    Be aware that in this code [0],[1],[2] are the vector parts of the quaternions and [3] is the scalar part.

    I know this is not the form you have, but maybe it will be of some use to you.
     
    Last edited by a moderator: Apr 21, 2016
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Angle between two quaternions
Loading...