# Y component of Rotation does not operate in the same range as X and Z!?

When the rotation of an object changes, the Y component does not operate in the same range as X and Z??

I created a jsfiddle showing the issue:
https://jsfiddle.net/45ho9xmL/

I need to retrieve the value of Y in the same range as the X and Z does, but for some reason it only holds a value half of that and also in a strange pattern… It seems to have the peak of its value when 90/-90 degrees from the starting rotation, and then goes back down to 0 as it goes towards the 180 degree position… How can I fix this???

It seems you are misunderstanding a basic aspect of euler angles. The angles do not have the same angle range in order to avoid ambiguity. The order in which the angles are applies also matters and defines the actual ranges for XYZ.

I suggest you read a bit about euler angles in the existing literature e.g. 3D Math Primer for Graphics and Game Development.

Thanks, I didn’t know that. I’ll read that.

So I’ve read the Euler section…
If the order is XYZ, would that make X the Header angle, Y the Pitch angle, and Z the Bank angle? Because it states that Eulers are always done in that order (header,pitch,bank).
Pitch is constrained to -90,90 for the canonical set of Euler angles. So that is why the Y value never goes beyond those, and instead it has to rotate the heading and bank 180 degrees to make it appear as if it is continuing the arc around in an animation…

I guess I didn’t realize that Y was being treated as the Pitch in this case, and how it requires the Heading and Bank to rotate 180 to compensate. But now I understand!

Still at a loss as to how to interpolate euler angles though…but the Euler section talked about how it is difficult to do this due to the wrapping of angles as well as gimble lock.