Euler
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.
Code Example
const a = new THREE.Euler( 0, 1, 1.57, 'XYZ' );const b = new THREE.Vector3( 1,
0, 1 );b.applyEuler(a);
Constructor
Euler
function Euler( x: Float, y: Float, z: Float, order: String ): void;
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).
Properties
isEuler
isEuler: Boolean;
Read-only flag to check if a given object is of type Euler.
order
order: String;
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.
Three.js 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).
x
x: Float;
The current value of the x component.
y
y: Float;
The current value of the y component.
z
z: Float;
The current value of the z component.
Methods
copy
function copy( euler: Euler ): this;
Copies value of euler to this euler.
clone
function clone( ): Euler;
Returns a new Euler with the same parameters as this one.
equals
function equals( euler: Euler ): Boolean;
Checks for strict equality of this euler and euler.
fromArray
function fromArray( array: Array ): this;
.rray 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].
reorder
function reorder( newOrder: String ): this;
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.
Warning: this discards revolution information.
set
function set( x: Float, y: Float, z: Float, order: String ): this;
.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.
setFromRotationMatrix
function setFromRotationMatrix( m: Matrix4, order: String ): this;
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.
setFromQuaternion
function setFromQuaternion( q: Quaternion, order: String ): this;
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.
setFromVector3
function setFromVector3( vector: Vector3, order: String ): this;
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.
toArray
function toArray( array: Array, offset: Integer ): Array;
array - (optional) array to store the euler in.
offset (optional) offset in the array.
Returns an array of the form [.x, .y, .z, .order].