Quaternion

.Math. Quaternion

四元数.

Constructor

new Quaternion(xopt, yopt, zopt, wopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Default Description
x number <optional>
0 x分量.
y number <optional>
0 y分量.
z number <optional>
0 z分量.
w number <optional>
1 w分量.

Members

onChangeCallback :function

Since:
  • 3.50.0
如果设置了回调,则每次四元数中的值发生变化时都会调用该回调. 回调被传递一个参数,一个对这个四元数的引用.
Type:
  • function

w :number

Since:
  • 3.0.0
Default Value:
  • 0
这个四元数的w分量.
Type:
  • number

x :number

Since:
  • 3.0.0
Default Value:
  • 0
这个四元数的x分量.
Type:
  • number

y :number

Since:
  • 3.0.0
Default Value:
  • 0
这个四元数的y分量.
Type:
  • number

z :number

Since:
  • 3.0.0
Default Value:
  • 0
这个四元数的z分量.
Type:
  • number

Methods

add(v) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
将给定的四元数或向量添加到该四元数.添加是组件式的.
Parameters:
Name Type Description
v Phaser.Math.Quaternion | Phaser.Math.Vector4 要添加到此四元数的四元数或向量.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

calculateW() → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
从四元数的x,y和z分量创建单位(或旋转)四元数. 设置w分量.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

conjugate() → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
将这个四元数转换成它的共轭. 设置x,y和z分量.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

copy(src) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
将给定四元数或向量的分量复制到该四元数中.
Parameters:
Name Type Description
src Phaser.Math.Quaternion | Phaser.Math.Vector4 要从中复制组件的四元数或向量.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

dot(v) → {number}

Since:
  • 3.0.0
计算这个四元数和给定四元数或向量的点积.
Parameters:
Name Type Description
v Phaser.Math.Quaternion | Phaser.Math.Vector4 四元数或向量与此四元数的点积.
Returns:
这个四元数和给定四元数或向量的点积.
Type
number

fromMat3(mat) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
将给定的矩阵转换成四元数.
Parameters:
Name Type Description
mat Phaser.Math.Matrix3 要转换的矩阵.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

identity() → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
将此矩阵重置为单位(默认)四元数.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

invert() → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
反转这个四元数.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

length() → {number}

Since:
  • 3.0.0
计算这个四元数的长度.
Returns:
这个四元数的长度.
Type
number

lengthSq() → {number}

Since:
  • 3.0.0
计算这个四元数平方的长度.
Returns:
这个四元数的长度,平方.
Type
number

lerp(v, topt) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
向给定的四元数或向量线性插值此四元数.
Parameters:
Name Type Attributes Default Description
v Phaser.Math.Quaternion | Phaser.Math.Vector4 要插值的四元数或向量.
t number <optional>
0 插值的百分比.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

multiply(b) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
将这个四元数乘以给定的四元数或向量.
Parameters:
Name Type Description
b Phaser.Math.Quaternion | Phaser.Math.Vector4 四元数或向量乘以此四元数.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

normalize() → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
归一化这个四元数.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

rotateX(rad) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
在X轴上旋转这个四元数.
Parameters:
Name Type Description
rad number 以弧度表示的旋转角度.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

rotateY(rad) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
在Y轴上旋转这个四元数.
Parameters:
Name Type Description
rad number 以弧度表示的旋转角度.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

rotateZ(rad) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
在Z轴上旋转这个四元数.
Parameters:
Name Type Description
rad number 以弧度表示的旋转角度.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

rotationTo(a, b) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
基于两个给定向量旋转此四元数.
Parameters:
Name Type Description
a Phaser.Math.Vector3 变换旋转向量.
b Phaser.Math.Vector3 目标旋转向量.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

scale(scale) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
按给定值缩放此四元数.
Parameters:
Name Type Description
scale number 此四元数的缩放值.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

set(xopt, yopt, zopt, wopt, updateopt) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
设置该四元数的分量,并可选地调用 `onChangeCallback` .
Parameters:
Name Type Attributes Default Description
x number | object <optional>
0 x分量,或包含x,y,z和w分量的对象.
y number <optional>
0 y分量.
z number <optional>
0 z分量.
w number <optional>
0 w分量.
update boolean <optional>
true 叫 `onChangeCallback` ?
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

setAxes(view, right, up) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
设置此四元数的轴.
Parameters:
Name Type Description
view Phaser.Math.Vector3 视图轴.
right Phaser.Math.Vector3 右轴.
up Phaser.Math.Vector3 向上的轴.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

setAxisAngle(axis, rad) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
设置此四元数的轴角度.
Parameters:
Name Type Description
axis Phaser.Math.Vector3 轴心.
rad number 以弧度表示的角度.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

setFromEuler(euler, updateopt) → {Phaser.Math.Quaternion}

Since:
  • 3.50.0
根据欧拉顺序,从给定的欧拉设置此四元数.
Parameters:
Name Type Attributes Default Description
euler Phaser.Math.Euler 要转换的欧拉.
update boolean <optional>
true 运行 `onChangeCallback` ?
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

setFromRotationMatrix(mat4) → {Phaser.Math.Quaternion}

Since:
  • 3.50.0
从给定矩阵4设置此四元数的旋转.
Parameters:
Name Type Description
mat4 Phaser.Math.Matrix4 要设置旋转的矩阵4.
Returns:
这个四元数.
Type
Phaser.Math.Quaternion

slerp(b, t) → {Phaser.Math.Quaternion}

Since:
  • 3.0.0
向给定的四元数或向量平滑地线性插值该四元数.
Parameters:
Name Type Description
b Phaser.Math.Quaternion | Phaser.Math.Vector4 要插值的四元数或向量.
t number