A quaternion.
Constructor
new Quaternion([x], [y], [z], [w])
Parameters
name | type | optional | default | description |
---|---|---|---|---|
x | number | Yes | 0 | The x component. |
y | number | Yes | 0 | The y component. |
z | number | Yes | 0 | The z component. |
w | number | Yes | 1 | The w component. |
Scope: static
Source: src/math/Quaternion.js#L27
Since: 3.0.0
Public Members
onChangeCallback
onChangeCallback: function
Description:
This callback is invoked, if set, each time a value in this quaternion is changed. The callback is passed one argument, a reference to this quaternion.
Source: src/math/Quaternion.js#L87
Since: 3.50.0
w
w: number
Description:
The w component of this Quaternion.
Source: src/math/Quaternion.js#L166
Since: 3.0.0
x
x: number
Description:
The x component of this Quaternion.
Source: src/math/Quaternion.js#L100
Since: 3.0.0
y
y: number
Description:
The y component of this Quaternion.
Source: src/math/Quaternion.js#L122
Since: 3.0.0
z
z: number
Description:
The z component of this Quaternion.
Source: src/math/Quaternion.js#L144
Since: 3.0.0
Private Members
_w
_w: number
Description:
The w component of this Quaternion.
Access: private
Source: src/math/Quaternion.js#L77
Since: 3.50.0
_x
_x: number
Description:
The x component of this Quaternion.
Access: private
Source: src/math/Quaternion.js#L47
Since: 3.50.0
_y
_y: number
Description:
The y component of this Quaternion.
Access: private
Source: src/math/Quaternion.js#L57
Since: 3.50.0
_z
_z: number
Description:
The z component of this Quaternion.
Access: private
Source: src/math/Quaternion.js#L67
Since: 3.50.0
Public Methods
add
<instance> add(v)
Description:
Add a given Quaternion or Vector to this Quaternion. Addition is component-wise.
Parameters:
name | type | optional | description |
---|---|---|---|
v | No | The Quaternion or Vector to add to this Quaternion. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L244
Since: 3.0.0
calculateW
<instance> calculateW()
Description:
Create a unit (or rotation) Quaternion from its x, y, and z components.
Sets the w component.
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L763
Since: 3.0.0
conjugate
<instance> conjugate()
Description:
Convert this Quaternion into its conjugate.
Sets the x, y and z components.
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L652
Since: 3.0.0
copy
<instance> copy(src)
Description:
Copy the components of a given Quaternion or Vector into this Quaternion.
Parameters:
name | type | optional | description |
---|---|---|---|
src | No | The Quaternion or Vector to copy the components from. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L188
Since: 3.0.0
dot
<instance> dot(v)
Description:
Calculate the dot product of this Quaternion and the given Quaternion or Vector.
Parameters:
name | type | optional | description |
---|---|---|---|
v | No | The Quaternion or Vector to dot product with this Quaternion. |
Returns: number - The dot product of this Quaternion and the given Quaternion or Vector.
Source: src/math/Quaternion.js#L377
Since: 3.0.0
fromMat3
<instance> fromMat3(mat)
Description:
Convert the given Matrix into this Quaternion.
Parameters:
name | type | optional | description |
---|---|---|---|
mat | No | The Matrix to convert from. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L968
Since: 3.0.0
identity
<instance> identity()
Description:
Reset this Matrix to an identity (default) Quaternion.
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L495
Since: 3.0.0
invert
<instance> invert()
Description:
Invert this Quaternion.
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L626
Since: 3.0.0
length
<instance> length()
Description:
Calculate the length of this Quaternion.
Returns: number - The length of this Quaternion.
Source: src/math/Quaternion.js#L310
Since: 3.0.0
lengthSq
<instance> lengthSq()
Description:
Calculate the length of this Quaternion squared.
Returns: number - The length of this Quaternion, squared.
Source: src/math/Quaternion.js#L328
Since: 3.0.0
lerp
<instance> lerp(v, [t])
Description:
Linearly interpolate this Quaternion towards the given Quaternion or Vector.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
v | No | The Quaternion or Vector to interpolate towards. | ||
t | number | Yes | 0 | The percentage of interpolation. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L392
Since: 3.0.0
multiply
<instance> multiply(b)
Description:
Multiply this Quaternion by the given Quaternion or Vector.
Parameters:
name | type | optional | description |
---|---|---|---|
b | No | The Quaternion or Vector to multiply this Quaternion by. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L533
Since: 3.0.0
normalize
<instance> normalize()
Description:
Normalize this Quaternion.
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L346
Since: 3.0.0
rotateX
<instance> rotateX(rad)
Description:
Rotate this Quaternion on the X axis.
Parameters:
name | type | optional | description |
---|---|---|---|
rad | number | No | The rotation angle in radians. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L673
Since: 3.0.0
rotateY
<instance> rotateY(rad)
Description:
Rotate this Quaternion on the Y axis.
Parameters:
name | type | optional | description |
---|---|---|---|
rad | number | No | The rotation angle in radians. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L703
Since: 3.0.0
rotateZ
<instance> rotateZ(rad)
Description:
Rotate this Quaternion on the Z axis.
Parameters:
name | type | optional | description |
---|---|---|---|
rad | number | No | The rotation angle in radians. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L733
Since: 3.0.0
rotationTo
<instance> rotationTo(a, b)
Description:
Rotates this Quaternion based on the two given vectors.
Parameters:
name | type | optional | description |
---|---|---|---|
a | No | The transform rotation vector. | |
b | No | The target rotation vector. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L420
Since: 3.0.0
scale
<instance> scale(scale)
Description:
Scale this Quaternion by the given value.
Parameters:
name | type | optional | description |
---|---|---|---|
scale | number | No | The value to scale this Quaternion by. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L288
Since: 3.0.0
set
<instance> set([x], [y], [z], [w], [update])
Description:
Set the components of this Quaternion and optionally call the onChangeCallback
.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
x | number | object | Yes | 0 | The x component, or an object containing x, y, z, and w components. |
y | number | Yes | 0 | The y component. |
z | number | Yes | 0 | The z component. |
w | number | Yes | 0 | The w component. |
update | boolean | Yes | true | Call the |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L203
Since: 3.0.0
setAxes
<instance> setAxes(view, right, up)
Description:
Set the axes of this Quaternion.
Parameters:
name | type | optional | description |
---|---|---|---|
view | No | The view axis. | |
right | No | The right axis. | |
up | No | The upwards axis. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L464
Since: 3.0.0
setAxisAngle
<instance> setAxisAngle(axis, rad)
Description:
Set the axis angle of this Quaternion.
Parameters:
name | type | optional | description |
---|---|---|---|
axis | No | The axis. | |
rad | number | No | The angle in radians. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L508
Since: 3.0.0
setFromEuler
<instance> setFromEuler(euler, [update])
Description:
Set this Quaternion from the given Euler, based on Euler order.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
euler | No | The Euler to convert from. | ||
update | boolean | Yes | true | Run the |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L784
Since: 3.50.0
setFromRotationMatrix
<instance> setFromRotationMatrix(mat4)
Description:
Sets the rotation of this Quaternion from the given Matrix4.
Parameters:
name | type | optional | description |
---|---|---|---|
mat4 | No | The Matrix4 to set the rotation from. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L893
Since: 3.50.0
slerp
<instance> slerp(b, t)
Description:
Smoothly linearly interpolate this Quaternion towards the given Quaternion or Vector.
Parameters:
name | type | optional | description |
---|---|---|---|
b | No | The Quaternion or Vector to interpolate towards. | |
t | number | No | The percentage of interpolation. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L563
Since: 3.0.0
subtract
<instance> subtract(v)
Description:
Subtract a given Quaternion or Vector from this Quaternion. Subtraction is component-wise.
Parameters:
name | type | optional | description |
---|---|---|---|
v | No | The Quaternion or Vector to subtract from this Quaternion. |
Returns: Phaser.Math.Quaternion - This Quaternion.
Source: src/math/Quaternion.js#L266
Since: 3.0.0