Forum: Poser Technical


Subject: What the hell is a Quaternion?

WZN opened this issue on Jan 14, 2001 ยท 14 posts


WZN posted Sun, 14 January 2001 at 8:08 PM

It's in the program (Animation > Quaternion Interpolation), but not in the manual. Is a quaternion: - A distant planet? - The result of impact of thingions and stuffions, that are smaller than quarks? - A comics character (I am Quaternion and I will take over your world, HAHAHAHA!) - (Your response here)...


ScottA posted Sun, 14 January 2001 at 8:46 PM

Quaternion: The quotient of two vectors, or of two directed right lines in space, considered as depending on four geometrical elements, and as expressible by an algebraic symbol of quadrinomial form. The science or calculus of quaternions is a new mathematical method, in which the conception of a quaternion is unfolded and symbolically expressed, and is applied to various classes of algebraical, geometrical, and physical questions, so as to discover theorems, and to arrive at the solution of problems. Ahhh. Now it make sence ;-) ScottA


WZN posted Sun, 14 January 2001 at 10:27 PM

I thought it were another Japanese cartoon, like Pokon and Digimon.


doozy posted Mon, 15 January 2001 at 8:32 AM

The science or calculus of quaternions is a new mathematical method Not so new. Quaternions were invented (discovered?) by the Irish mathematician and philosopher Sir William Rowan Hamilton in the 1800's. Quaternions can be used to mathematically describe rotations. For most purposes the quaternion method was replaced by the matrix method when that was later invented. Technically, quaternions are a 4-dimensional number system, just as the complex numbers are a 2-dimensional number system. I think the use in Poser is for interpolating in animations: if the position of some morph is given in two key frames, how should it be filled in between? Try the quaternion method if you do not like the default way that it was filled in.


WZN posted Mon, 15 January 2001 at 10:35 PM

Will the difference between the 2 methods be significant?


doozy posted Tue, 16 January 2001 at 6:34 AM

Will the difference between the 2 methods be significant? I don't know. Why not try it and see? I guess when they put it in the program, someone thought it would be significant.


MikeJ posted Mon, 22 January 2001 at 4:47 AM

Cool, I've been wondering about that for quite a while now too. As for whether it's significant, I have tried it, and for one brief animation it was a significant change, but for another, with a different motion, it didn't seem to make any difference. Chalk up another one for the writers of that damn manual. I figure they thought we were all quantum physics professors for MIT or something, with a minor in telepathy when they were compiling that manual. It could just as well have consisted of nothing but a link to here. Cheers, Mike



duanemoody posted Tue, 23 January 2001 at 2:29 PM

Back in the 50s IBM tried to retrain their programmers as technical writers. Their research resulted in them hiring English majors instead and training them to program. "Never teach a pig to sing. It wastes your time and annoys the pig." --Mark Twain


MikeJ posted Tue, 23 January 2001 at 2:46 PM

LOL! I've heard that before, and yes, I agree emphatically! There seems to be a certain threshold people cross where they forget that what once was something confusing, is all of a sudden very obvious. The more you know about something, I believe, the les likely you are to be able to explain it to someone else, for the most part. Or so it seems. I read the Poser manual, and it answers little if anything other than the basics, and even when it's TRYING to be basic, still it is not. If anything, it raises far more questions than it gives answers. ;) Mike



an0malaus posted Tue, 08 February 2005 at 11:48 PM

Has anyone attempted to make use of (let alone understand) the actor local and world quaternions exposed in the Python interface? As explanation, I'm investigating ways to identify the angular change in attitude of body parts and props with respect to the poser coordinate system in order to automatically control morph targets to simulate gravity effects. I'm being stymied so far by lack of A) Poser relevant documentation (i.e. how the actor.WorldMatrix() tuple is ordered, B) synaptic disaffection due to a severe throat infection, and C) suspicion that there is no Python interface to the actor rotation ordering (XYZ or YZX, etc.) necessary to correctly interpret quaternion coordinate systems. As far as my recent research into 3DCG applications for quaternions goes, it seems that quaternion interpolation would most likely eliminate animation discontinuities inherent in using the Euler (global X,Y,Z) rotation angles when in gimbal lock situations (i.e. one axis is rotated to coincide with another thereby losing a degree of freedom).



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


nruddock posted Wed, 09 February 2005 at 1:29 PM

Attached Link: http://www.j3d.org/matrix_faq/matrfaq_latest.html

The Matrix and Quaternions FAQ. Handy reference if you need it.

an0malaus posted Wed, 09 February 2005 at 6:24 PM

Thanks nruddock, that's a different link to a document I was referring to. I've just seen a code fragment from ockham which implies that the matrix ordering used by Poser is the OpenGL style which is transposed from that document and was an outstanding point of confusion till now.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


stewer posted Sat, 12 February 2005 at 3:26 PM

suspicion that there is no Python interface to the actor rotation ordering (XYZ or YZX, etc.) necessary to correctly interpret quaternion coordinate systems. Correct, quaternion rotations do not depend on any rotation order. This makes them easier to interpolate, but possibly unnatural for human joints (some of our joints do have a rotation order).


an0malaus posted Sun, 13 February 2005 at 5:35 AM

Stewer, thanks for assuming a comma in the appropriate place in my statement to render it correct :-). I was actually referring to references I had seen implying that quaternions calculated for a specific frame of reference cannot be meaningfully applied to another, unrelated FoR without receiving invalid results. On the human joint issue, I'd bet that quaternions are what CL uses for Inverse Kinematic calculations, hence the sometimes unnatural and unpredictable joint strangeness seen when pushing IK to its limits. (Well I know MY knees don't bend that way...) Pity IK uses seems to ignore joint rotation limits when engaged.



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.