I have a Quaternion representing the rotation of a 3D characters upper arm. I also have a line that is supposed to represent the new position of that characters' arm. That lines position is given by two 3D points.
This is the only data I have, and Im trying to call a method in a 3D package (Digital Rune) that takes 2 direction vectors and returns the Quaternion representing the rotation needed to move the arm to the new position.
The problem is that I see some odd behavior, as if the axes are mixed up and it is just generally not behaving. Also, the Quaternion object (which is from the 3D package) representing the 3D guys' arm has W, X, Y and Z. Do X,Y and Z represent the direction vector? Because that's what I need to call the function properly. I have been using this along with my calculated direction vector from the endpoints of my line, but as I said it looks funny.
If the X,Y and Z are not a direction vector, how to convert from a Quaternion to the two endpoints so I can calculate the direction vector?