Quaternion

Phaser.Math.Quaternion

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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

Phaser.Math.Matrix3

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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

Phaser.Math.Vector3

No

The transform rotation vector.

b

Phaser.Math.Vector3

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 onChangeCallback?

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

Phaser.Math.Vector3

No

The view axis.

right

Phaser.Math.Vector3

No

The right axis.

up

Phaser.Math.Vector3

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

Phaser.Math.Vector3

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

Phaser.Math.Euler

No

The Euler to convert from.

update

boolean

Yes

true

Run the onChangeCallback?

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

Phaser.Math.Matrix4

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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

Phaser.Math.Quaternion | Phaser.Math.Vector4

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


Updated on