A class representing Euler Angles.
Euler angles describe a rotational transformation by rotating an object on its various axes in specified amounts per axis, and a specified axis order.
Iterating through a Euler instance will yield its components (x, y, z, order) in the corresponding order.
const a = new v3d.Euler(0, 1, 1.57, 'XYZ');
const b = new v3d.Vector3(1, 0, 1);
b.applyEuler(a);
x — (optional) the angle of the x axis in radians. Default is 0
.
y — (optional) the angle of the y axis in radians. Default is 0
.
z — (optional) the angle of the z axis in radians. Default is 0
.
order — (optional) a string representing the order that the rotations are applied,
defaults to 'XYZ'
(must be upper case).
Read-only flag to check if a given object is of type Euler.
The order in which to apply rotations. Default is 'XYZ', which means that the object will first be
rotated around its X axis, then its Y axis and finally its Z axis. Other possibilities are:
'YZX'
, 'ZXY'
, 'XZY'
, 'YXZ'
, and 'ZYX'
. These must be in upper case.
Verge3D uses intrinsic Tait-Bryan angles. This means that rotations are performed with respect
to the local coordinate system. That is, for order 'XYZ'
, the rotation is first around the local-X
axis (which is the same as the world-X axis), then around local-Y (which may now be different from the
world Y-axis), then local-Z (which may be different from the world Z-axis).
The current value of the x component.
The current value of the y component.
The current value of the z component.
Copies value of euler to this euler.
Returns a new Euler with the same parameters as this one.
Checks for strict equality of this euler and euler.
Checks for equality of this euler and the given euler considering the given eps margin.
array of length 3 or 4. The optional 4th argument corresponds to the order.
Assigns this euler's x angle to array[0]
.
Assigns this euler's y angle to array[1]
.
Assigns this euler's z angle to array[2]
.
Optionally assigns this euler's order to array[3]
.
Changes this euler to an alternative set of rotations in range [-π, π)
corresponding to the same orientation, e.g: from (0, 0, π)
to (-π, -π, 0)
.
Resets the euler angle with a new order by creating a quaternion from this euler angle and then setting this euler angle with the quaternion and the new order.
This method discards revolution information.
x — the angle of the x axis in radians.
y — the angle of the y axis in radians.
z — the angle of the z axis in radians.
order — (optional) a string representing the order that the rotations are applied.
Sets the angles of this euler transform and optionally the order.
m — a Matrix4 of which the upper 3x3 of matrix is a pure
rotation matrix (i.e. unscaled).
order — (optional) a string representing the order that the rotations are applied.
Sets the angles of this euler transform from a pure rotation matrix based on the orientation specified by order.
q — a normalized quaternion.
order — (optional) a string representing the order that the rotations are applied.
Sets the angles of this euler transform from a normalized quaternion based on the orientation specified by order.
vector — Vector3.
order — (optional) a string representing the order that the rotations are applied.
Set the x, y and z, and optionally update the order.
array — (optional) array to store the euler in.
offset — (optional) offset in the array.
Returns an array of the form [x, y, z, order].
For more info on how to obtain the source code of this module see this page.