I would like to set the absolute global rotation of a vector using a quaternion.
Let's say I have a function f(v, q)
which rotates vector v
to quaternion q
.
THREE.Vector3
has a .applyQuaternion
function which applies a rotation to a vector, but this is a relative rotation. For example, the function call f(f(v, q), q)
will apply q
twice. Instead, I would expect f(f(v, q), q) = f(v, q)
since q
is the absolute rotation of the vector.
I know that I can compute some deltaQ = currentQ.premultiply(q.inverse())
and then call .applyQuaternion
, but I don't know how to query the currentQ
, or the current rotation of the vector, so that I can "undo" it and apply the new quaternion.
Thanks for any help!
Please login or Register to submit your answer