The EulerAngles class provides a representation for orientation in 3D space using rotation angles in degrees about each axis. Angles can be greater than 360 and so specify multiple revolutions. Rotations follow the right-hand-rule.
Constructors
eulerAngles <x_degrees> <y_degrees> <z_degrees>
<quat> as eulerAngles
<angleAxis> as eulerAngles
<matrix3> as eulerAngles
Extracts the rotation component as an eulerAngles.
Operators
<eulerAngles> == <eulerAngles>
<eulerAngles> != <eulerAngles>
<eulerAngles> as <class>
eulerAngles can convert to Matrix3, Quat, angleAxis values
Properties
<eulerAngles>.x : Float
<eulerAngles>.y : Float
<eulerAngles>.z : Float
Rotation about each primary axis in float degrees
Methods
Creates a new copy of the eulerAngles value. For example:
newEulerAngles = copy oldEulerAngles
The new value contains a copy of the input eulerAngles value, and is independent of the input eulerAngles value.
random <eulerAngles> <eulerAngles>
Random rotation between the eulerAngles, but uses quat Slerp, so loses multiple revolution angles.
quatToEuler <quat> order:<eulertype_integer>
eulerToQuat <eulerAngle> order:<eulertype_integer>
Convert between quat and euler angle values. The optional order parameter specifies the order of application of the angles. If not specified, XYZ ordering is used. Its value can be any of the following:
1 - XYZ
2 - XZY
3 - YZX
4 - YXZ
5 - ZXY
6 - ZYX
7 - XYX
8 - YZY
9 - ZXZ
getEulerQuatAngleRatio <quat1> <quat2> \
<eulerAngles1> <eulerAngles2> \
[angle:<eulertype_integer>]
When converting a series of quat values to eulerAngles values, it is possible for sign flips to occur in the eulerAngles values. This is due to the fact that one single quat value can be expressed through many different eulerAngles values. This flip can be detected by based on the eulerAngles/quat ratio. The eulerAngles/quat ratio is the relation of the angle difference in eulerAngles space to the angle difference in quat space. If this ratio is bigger than PI the rotation between the two quat to eulerAngles conversions. This method returns the eulerAngles/quat angle ratio between the two quat to eulerAngles conversions as a float value. The actual detection of the flip is dependent on the amount of rotation in between conversions. The smaller the amount of rotation, the more accurate the detection is. The parameters to this method are:
quat1 and quat2 are the previous and current rotation values.
eulerAngles1 and eulerAngles2 are the previous and current converted rotation angles.
The optional eulertype_integer specifies the order of application of the angles. If not specified, XYZ ordering is used. Its value can be any of the following:
1 - XYZ
2 - XZY
3 - YZX
4 - YXZ
5 - ZXY
6 - ZYX
7 - XYX
8 - YZY
9 - ZXZ
getEulerMatAngleRatio <matrix3_1> <matrix3_2> \
<eulerAngles1> <eulerAngles2> \
[angle:<eulertype_integer>]
This method parallels the getEulerQuatAngleRatio() method. This method is identical to getEulerQuatAngleRatio() with the exception that matrix3 values are passed rather than quat values.