Re: [Algorithms] Scaled quaternion rotations
Brought to you by:
vexxed72
From: Jon W. <jw...@gm...> - 2008-06-25 17:45:22
|
Marc B. Reynolds wrote: > 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. > > We're obviously using the same term to refer to two different things, > because the algebraic formulations differ. 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. > > I personally find "forward" and "reverse" more ambiguous terms, since > they require a given convention. Let's say 'counter-clockwise' and > 'clockwise' > when the directed line is going into your eye, and then call them > 'forward' and > 'reverse' or 'inverse' respectively? I guess my point is that ALL those words are ambiguous, because they require that you specify at least two pieces of data when writing down on paper: vector convention (left or right) and coordinate system interpretation (right-handed or left-handed). Using the same names as used for coordinate systems to also tell clockwise and counter-clockwise rotations sans coordinate system apart leads to too much ambiguity. Just look at the number of quaternion resources on the web that are, at best, misleading, because they don't state their conventions, or even mix and match conventions maybe without even understanding what they're doing. > > > Rotation math, in itself, has no > > handedness; it is only the interpretation of the coordinates in the > > coordinate space that is handed. > > It should be obvious that I disagree with this statement. And it might be > more useful during algebraic manipulation to choose one form over the > other, regardless of the choose direction of a 'forward' rotation. Because authors all over the planet have chosen one or the other at different times, you need to choose, you need to stay internally consistent, and you need to DOCUMENT YOUR CHOICE. Sorry, I'm more than a little frustrated by this. It took me many years to get comfortable enough with the literature to realize that this was one reason why it seemed so much more confusing than it should be. Sincerely, jw |