Re: [Algorithms] Scaled quaternion rotations
Brought to you by:
vexxed72
From: Marc B. R. <mar...@or...> - 2008-06-26 13:30:04
|
Believe me, I understand pet-peeves very well. I was attempting to quickly address a couple of them in my original post. 1) The notion that only unit quaternions may be used to represent a rotation. They are merely the most practical from a computational standpoint. 2) The big deal that is made out of double coverage. 3) That there is more than one way to formulate a rotation and most formulations effect a uniform scale as well. I chose the two forms from my first post, because they are the only ones that seem to show up in modern literature. >> What I'm calling 'right-handed' will return X, 'left-handed' will >> return -X. >> (Or vice-versa) Flip any of your coordinate definitions and the signs >> will flip. > To be specific, what you're calling "right-handed" (rotations) will > return X (in a right-handed coordinate space). > My point is that the words in parentheses are important, because leaving > them out leaves the text open for ambiguity. There's way too much > ambiguity in geometrics and especially graphics papers, because there > are two conventions for everything, and the authors usually assume that > everyone is using the particular conventions that he (the author) is > used to, without stating what they are. Yes, you are correct...I acknowledge your point. >> Here's some sample >> formulas that represent rotations in quaternions, with various >> different constraints: >> >> Q P (1/Q) R.1 >> (1/Q) P Q L.1 > I see you are assuming column vectors on the right in a right-handed > space. You might want to state those assumptions to make your formulas > unambiguous. For examples of popular graphics APIs that don't use those > assumptions, look no further than to Direct3D. Now, here you have lost me. There are no matrices in the above equations. And if you were to convert them into matrices, there would be neither column nor row vectors. Or do you mean converting the entire function...and if that is the case it would depend on whether your inject 3 results into row or columns. Am I missing something here? |