A Finding the Angle Between Two Quaternions: A Simple Solution?

  • A
  • Thread starter Thread starter Fidelis
  • Start date Start date
  • Tags Tags
    Angle Quaternions
AI Thread Summary
The discussion focuses on finding a simple expression for the angle between two quaternions in angle-phase form, specifically in terms of the differences in their angles. The user seeks to express this angle, denoted as α, using the differences φ - φ', ψ - ψ', and θ - θ', but struggles with the conversion to Cartesian form for applying the dot product. Responses suggest that deriving a straightforward formula may be complex, referencing related concepts such as spherical coordinates and quaternion Slerp. Additionally, some code snippets are shared that could assist in calculating the angle and rotation axis between the quaternions. Overall, the challenge lies in expressing the angle without converting to Cartesian coordinates.
Fidelis
Messages
2
Reaction score
0
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?
 
Last edited by a moderator:
Mathematics news on Phys.org
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
Which says use the dot product.
 
Last edited by a moderator:
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
 
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 2 \cdot \theta!

----

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:
Seemingly by some mathematical coincidence, a hexagon of sides 2,2,7,7, 11, and 11 can be inscribed in a circle of radius 7. The other day I saw a math problem on line, which they said came from a Polish Olympiad, where you compute the length x of the 3rd side which is the same as the radius, so that the sides of length 2,x, and 11 are inscribed on the arc of a semi-circle. The law of cosines applied twice gives the answer for x of exactly 7, but the arithmetic is so complex that the...
Back
Top