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
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!