Matrix4

.Math. Matrix4

四维矩阵. 改编自toji的[GL-matrix](https://github.com/toji/GL-matrix) 和[vec math](https://github.com/mattdesl/vec math)由matt desl

Constructor

new Matrix4(mopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Description
m Phaser.Math.Matrix4 <optional>
可选矩阵4,从中复制值.

Members

val :Float32Array

Since:
  • 3.0.0
矩阵值.
Type:
  • Float32Array

Methods

adjoint() → {this}

Since:
  • 3.0.0
计算这个矩阵的伴随或附属.
Returns:
这个矩阵4.
Type
this

clone() → {Phaser.Math.Matrix4}

Since:
  • 3.0.0
克隆这个矩阵4.
Returns:
这个矩阵的克隆体4.
Type
Phaser.Math.Matrix4

copy(src) → {this}

Since:
  • 3.0.0
将给定矩阵的值复制到该矩阵中.
Parameters:
Name Type Description
src Phaser.Math.Matrix4 要从中复制值的矩阵.
Returns:
这个矩阵4.
Type
this

determinant() → {number}

Since:
  • 3.0.0
计算这个矩阵的行列式.
Returns:
这个矩阵的行列式.
Type
number

fromArray(a) → {this}

Since:
  • 3.0.0
从给定数组中设置该矩阵的值.
Parameters:
Name Type Description
a Array.<number> 要从中复制值的数组.必须至少有16个元素.
Returns:
这个矩阵4.
Type
this

fromQuat(q) → {this}

Since:
  • 3.0.0
从给定的四元数设置该矩阵的值.
Parameters:
Name Type Description
q Phaser.Math.Quaternion 用于设置矩阵值的四元数.
Returns:
这个矩阵4.
Type
this

fromRotationTranslation(q, v) → {this}

Since:
  • 3.0.0
根据给定的旋转四元数和平移向量设置该矩阵的值.
Parameters:
Name Type Description
q Phaser.Math.Quaternion 要从中设置旋转的四元数.
v Phaser.Math.Vector3 要从中设置转换的向量.
Returns:
这个矩阵4.
Type
this

fromRotationXYTranslation(rotation, position, translateFirst) → {this}

Since:
  • 3.50.0
获取旋转矢量和位置矢量,并根据它们构建矩阵4.
Parameters:
Name Type Description
rotation Phaser.Math.Vector3 旋转矢量.
position Phaser.Math.Vector3 位置向量.
translateFirst boolean 操作应该先平移后旋转( `true` ),还是先旋转后平移?( `false` )
Returns:
这个矩阵4.
Type
this

frustum(left, right, bottom, top, near, far) → {this}

Since:
  • 3.0.0
生成给定边界的平截头体矩阵.
Parameters:
Name Type Description
left number 平截头体的左边界.
right number 平截头体的右边界.
bottom number 平截头体的底部边界.
top number 平截头体的上界.
near number 平截头体的最近边界.
far number 平截头体的远界.
Returns:
这个矩阵4.
Type
this

getInverse(m) → {this}

Since:
  • 3.50.0
将给定的矩阵4复制到这个矩阵中,然后求逆.
Parameters:
Name Type Description
m Phaser.Math.Matrix4 要转换成该矩阵4的矩阵4.
Returns:
这个矩阵4.
Type
this

getMaxScaleOnAxis() → {number}

Since:
  • 3.50.0
从该矩阵4返回最大轴比例.
Returns:
最大轴刻度.
Type
number

identity() → {this}

Since:
  • 3.0.0
将此矩阵重置为同一(默认)矩阵.
Returns:
这个矩阵4.
Type
this

invert() → {this}

Since:
  • 3.0.0
反转这个矩阵.
Returns:
这个矩阵4.
Type
this

lookAt(eye, center, up) → {this}

Since:
  • 3.0.0
用给定的眼睛位置,焦点和上轴生成一个观察矩阵.
Parameters:
Name Type Description
eye Phaser.Math.Vector3 观众的位置
center Phaser.Math.Vector3 观众正在看的点
up Phaser.Math.Vector3 vec3指向上方.
Returns:
这个矩阵4.
Type
this

lookAtRH(eye, target, up) → {this}

Since:
  • 3.50.0
用给定的眼睛位置,目标和上轴生成右手观察矩阵.
Parameters:
Name Type Description
eye Phaser.Math.Vector3 观众的位置.
target Phaser.Math.Vector3 观众正在看的点.
up Phaser.Math.Vector3 vec3指向上方.
Returns:
这个矩阵4.
Type
this

makeRotationAxis(axis, angle) → {this}

Since:
  • 3.0.0
导出给定轴周围的旋转矩阵.
Parameters:
Name Type Description
axis Phaser.Math.Vector3 | Phaser.Math.Vector4 旋转轴.
angle number 以弧度表示的旋转角度.
Returns:
这个矩阵4.
Type
this

multiply(src) → {this}

Since:
  • 3.0.0
将这个矩阵乘以给定的矩阵.
Parameters:
Name Type Description
src Phaser.Math.Matrix4 矩阵乘以这个矩阵.
Returns:
这个矩阵4.
Type
this

multiplyLocal(src) → {this}

Since:
  • 3.0.0
将该矩阵4的值乘以 `src` 参数中给出的值.
Parameters:
Name Type Description
src Phaser.Math.Matrix4 该矩阵4乘以的源矩阵4.
Returns:
这个矩阵4.
Type
this

multiplyMatrices(a, b) → {this}

Since:
  • 3.50.0
将两个给定的矩阵4对象相乘,并将结果存储在该矩阵中.
Parameters:
Name Type Description
a Phaser.Math.Matrix4 第一个要相乘的矩阵4.
b Phaser.Math.Matrix4 要相乘的第二个矩阵4.
Returns:
这个矩阵4.
Type
this

multiplyToMat4(src, out) → {Phaser.Math.Matrix4}

Since:
  • 3.50.0
将该矩阵4乘以给定的矩阵4,并将结果存储在矩阵4中.
Parameters:
Name Type Description
src Phaser.Math.Matrix4 矩阵4与这个相乘.
out Phaser.Math.Matrix4 接收矩阵.
Returns:
这个 `out` Matrix4.
Type
Phaser.Math.Matrix4

ortho(left, right, bottom, top, near, far) → {this}

Since:
  • 3.0.0
生成给定边界的正交投影矩阵.
Parameters:
Name Type Description
left number 平截头体的左边界.
right number 平截头体的右边界.
bottom number 平截头体的底部边界.
top number 平截头体的上界.
near number 平截头体的最近边界.
far number 平截头体的远界.
Returns:
这个矩阵4.
Type
this

perspective(fovy, aspect, near, far) → {this}

Since:
  • 3.0.0
生成给定边界的透视投影矩阵.
Parameters:
Name Type Description
fovy number 以弧度表示的垂直视场
aspect number 长宽比.通常视口宽度/高度.
near number 平截头体的近界.
far number 平截头体的远界.
Returns:
这个矩阵4.
Type
this

perspectiveLH(width, height, near, far) → {this}

Since:
  • 3.0.0
生成给定边界的透视投影矩阵.
Parameters:
Name Type Description
width number 平截体的宽度.
height number 平截头体的高度.
near number 平截头体的近界.
far number 平截头体的远界.
Returns:
这个矩阵4.
Type
this

premultiply(m) → {this}

Since:
  • 3.50.0
给定矩阵4对象乘以该矩阵. 这和叫 `multimetriches(m,this)` 是一样的.
Parameters:
Name Type Description
m Phaser.Math.Matrix4 矩阵4与这个相乘.
Returns:
这个矩阵4.
Type
this

rotate(rad, axis) → {this}

Since:
  • 3.0.0
对此矩阵应用旋转变换.
Parameters:
Name Type Description
rad number 旋转角度,以弧度为单位.
axis Phaser.Math.Vector3 要旋转的轴.
Returns:
这个矩阵4.
Type
this

rotateX(rad) → {this}

Since:
  • 3.0.0
在X轴上旋转这个矩阵.
Parameters:
Name Type Description
rad number 旋转角度,以弧度为单位.
Returns:
这个矩阵4.
Type
this

rotateY(rad) → {this}

Since:
  • 3.0.0
在Y轴上旋转这个矩阵.
Parameters:
Name Type Description