You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If GLM follows the convention of a right-handed coordinate system then the Euler angle functions in euler_angles.hpp are not correct. Using a right-handed coordinate system positive rotations will rotate an axis in a counter-clockwise direction when looking towards the positive axis of rotation. For example, when looking towards the positive X axis, the Y axis will rotate towards the positive Z axis when a positive rotation is applied and when looking towards the positive Y axis, the X axis will rotate towards the negative Z axis when a positive rotation is applied.
If the Eurler function eulerAngleXY is rotX * rotY then the function should be changed to:
SInce the eulerAngleX, eulerAngleY, and eulerAngleX functions appear to be correct, the functionality of these functions can be verified by replacing eulerAngleYX in your code with eulerAngleX() * eulerAngleY(). If the object rotates in the same direction then they are correct. Currently, this is not the case.
The text was updated successfully, but these errors were encountered:
Your proposed fix resolve the issue and have been committed into GLM 0.9.5 branch for next release.
I have also added a full test suite for the eulerAngle*** functions.
If GLM follows the convention of a right-handed coordinate system then the Euler angle functions in euler_angles.hpp are not correct. Using a right-handed coordinate system positive rotations will rotate an axis in a counter-clockwise direction when looking towards the positive axis of rotation. For example, when looking towards the positive X axis, the Y axis will rotate towards the positive Z axis when a positive rotation is applied and when looking towards the positive Y axis, the X axis will rotate towards the negative Z axis when a positive rotation is applied.
If the Eurler function eulerAngleXY is rotX * rotY then the function should be changed to:
And if the Euler function eulerAngleYX is rotY * rotX then this function should be:
SInce the eulerAngleX, eulerAngleY, and eulerAngleX functions appear to be correct, the functionality of these functions can be verified by replacing eulerAngleYX in your code with eulerAngleX() * eulerAngleY(). If the object rotates in the same direction then they are correct. Currently, this is not the case.
The text was updated successfully, but these errors were encountered: