The diagram Normen posted sort of implies that direction of travel = out of the screen, which appeals to our intuition that "forward" is colinear with the way we face our screens, which is I think how
arrived at "pitch,yaw,roll".
However, if we accept the convention of EuclideanSpace.com that [bold]the airplane is flying towards a destination at X=+infinity[/bold], then the JME3 parameters should be labeled something like:
roll_about_X, yaw_about_Y, pitch_about_Z
roll = rotation about X
yaw = rotation about Y
pitch = rotation about Z
why not just use x,y,z?
Proposed Solution Part 1 - Change the param names to say "xRot, yRot, zRot", then specify clearly what order these rotations are actually applied to construct our Quaternion rotation operator (because the rotation operator is non-commutative, as we all know quite well )
THEN, we could simply leave it at that, and put a link to EuclideanSpace.com for people who want to go into airplane terminology. Or, we could continue on to:
Proposed Solution Part 2 - Get the airplane words correctly attached to the JMonkey X,Y,Z axes. The key to doing that is to correctly label (in our minds) the axes in Normen's airplane diagram above. On the cited EuclideanSpace.com reference page that is currently in the Javadocs, the definition is that the X-Axis = Roll-Axis = Direction of Forward Travel, and the Y Axis = Yaw-Axis = Vertical-up for a level-flying plane (this contradicts Normen's diagram in that EuclideanSpace.com chooses YAW = "up" rather than "down", but the author there justifies his reasons and cites references and standards, and it matches the idea in JMonkey that positive-Y = "up", so, can we just go with that?)
Again, in this labeling, the Airplane's destination is at X=+infinity.
So then, to match up Normen's airplane diagram with JMonkey's definition of X=Right, Y=Up, Z=Out-of-screen towards us,
we merely rotate the plane so it is flying on our X-Axis, towards the right of our screens (and label yaw axis as "up", not "down"), as shown on the diagram I cited at:
JMonkey X axis = Roll-Axis = Bank-Axis
JMonkey Y axis = Yaw-Axis = Heading-Axis
JMonkey Z axis = Pitch-Axis = Attitude-Axis
In my own code, I am currently using
[java]q.fromAngles(rot_X_bank, rot_Y_heading, rot_Z_attitude); [/java]
to try to drown out the roar of incorrectly labeled yaw,roll.
I have verified that these interpretations are correct using the current JMonkey runtime.
All the above seems pretty unambiguous to me, if we are actually using EuclideanSpace.com as our reference. If we're not, then let's just fall back to proposed solution part #1 (xRot, yRot, zRot) - and please say what order they are applied in!