Class Matrix4x4

Matrix4x4 类表示一个转换矩阵,该矩阵确定三维 (3D) 显示对象的位置和方向。 该矩阵可以执行转换功能,包括平移(沿 x、y 和 z 轴重新定位)、旋转和缩放(调整大小)。 Matrix4x4 类还可以执行透视投影,这会将 3D 坐标空间中的点映射到二维 (2D) 视图。

 ---                                   ---
| scaleX 0 0 0 | x轴
| 0 scaleY 0 0 | y轴
| 0 0 scaleZ 0 | z轴
| tx ty tz 1 | 平移
--- ---

--- ---
| 0 1 2 3 | x轴
| 4 5 6 7 | y轴
| 8 9 10 11 | z轴
| 12 13 14 15 | 平移
--- ---

See

Hierarchy

  • Matrix4x4

Constructors

  • 创建 Matrix4x4 对象。

    Parameters

    • rawData: NumberArray16 = ...

      一个由 16 个数字组成的矢量,其中,每四个元素可以是 4x4 矩阵的一列。

    Returns Matrix4x4

Properties

elements: NumberArray16

一个由 16 个数字组成的矢量,其中,每四个元素可以是 4x4 矩阵的一列。

Accessors

  • get determinant(): number
  • 一个用于确定矩阵是否可逆的数字。如果值为0则不可逆。

    Returns number

Methods

  • 在 Matrix4x4 对象上后置一个增量缩放,沿 x、y 和 z 轴改变位置。

    Parameters

    • sx: number

      用于沿 x 轴缩放对象的乘数。

    • sy: number

      用于沿 y 轴缩放对象的乘数。

    • sz: number

      用于沿 z 轴缩放对象的乘数。

    Returns Matrix4x4

  • 在 Matrix4x4 对象上后置一个增量平移,沿 x、y 和 z 轴重新定位。

    Parameters

    • x: number

      沿 x 轴的增量平移。

    • y: number

      沿 y 轴的增量平移。

    • z: number

      沿 z 轴的增量平移。

    Returns Matrix4x4

  • 从数组中初始化

    Parameters

    • array: number[]

      包含矩阵数据的数组

    • index: number = 0

      数组中的起始位置

    • transpose: boolean = false

      是否转置

    Returns Matrix4x4

  • 创建位移矩阵

    Parameters

    • x: number

      沿 x 轴的增量平移。

    • y: number

      沿 y 轴的增量平移。

    • z: number

      沿 z 轴的增量平移。

    Returns Matrix4x4

  • 从欧拉角旋转角度初始化矩阵。

    Parameters

    • rx: number

      用于沿 x 轴旋转对象的角度。

    • ry: number

      用于沿 y 轴旋转对象的角度。

    • rz: number

      用于沿 z 轴旋转对象的角度。

    • order: RotationOrder = mathUtil.DefaultRotationOrder

      绕轴旋转的顺序。

    Returns Matrix4x4

  • 创建缩放矩阵

    Parameters

    • sx: number

      用于沿 x 轴缩放对象的乘数。

    • sy: number

      用于沿 y 轴缩放对象的乘数。

    • sz: number

      用于沿 z 轴缩放对象的乘数。

    Returns Matrix4x4

  • 在 Matrix4x4 对象上前置一个增量旋转。在将 Matrix4x4 对象应用于显示对象时,矩阵会在 Matrix4x4 对象中先执行旋转,然后再执行其他转换。

    Parameters

    • axis: Vector3

      旋转的轴或方向。常见的轴为 X_AXIS (Vector3(1,0,0))、Y_AXIS (Vector3(0,1,0)) 和 Z_AXIS (Vector3(0,0,1))。此矢量的长度应为 1。

    • degrees: number

      旋转的角度。

    • _pivotPoint: Vector3 = ...

    Returns Matrix4x4

  • 在 Matrix4x4 对象上前置一个增量缩放,沿 x、y 和 z 轴改变位置。在将 Matrix4x4 对象应用于显示对象时,矩阵会在 Matrix4x4 对象中先执行缩放更改,然后再执行其他转换。

    Parameters

    • xScale: number

      用于沿 x 轴缩放对象的乘数。

    • yScale: number

      用于沿 y 轴缩放对象的乘数。

    • zScale: number

      用于沿 z 轴缩放对象的乘数。

    Returns Matrix4x4

  • 在 Matrix4x4 对象上前置一个增量平移,沿 x、y 和 z 轴重新定位。在将 Matrix4x4 对象应用于显示对象时,矩阵会在 Matrix4x4 对象中先执行平移更改,然后再执行其他转换。

    Parameters

    • x: number

      沿 x 轴的增量平移。

    • y: number

      沿 y 轴的增量平移。

    • z: number

      沿 z 轴的增量平移。

    Returns Matrix4x4

  • 初始化正射投影矩阵

    Parameters

    • left: number

      可视空间左边界

    • right: number

      可视空间右边界

    • top: number

      可视空间上边界

    • bottom: number

      可视空间下边界

    • near: number

      可视空间近边界

    • far: number

      可视空间远边界

      可视空间的八个顶点分别被投影到立方体 [(-1, -1, -1), (1, 1, 1)] 八个顶点上

      将长方体 [(left, bottom, near), (right, top, far)] 投影至立方体 [(-1, -1, -1), (1, 1, 1)] 中

    Returns Matrix4x4

  • 初始化透视投影矩阵

    Parameters

    • left: number

      可视空间左边界

    • right: number

      可视空间右边界

    • top: number

      可视空间上边界

    • bottom: number

      可视空间下边界

    • near: number

      可视空间近边界

    • far: number

      可视空间远边界

      可视空间的八个顶点分别被投影到立方体 [(-1, -1, -1), (1, 1, 1)] 八个顶点上

      将长方体 [(left, bottom, near), (right, top, far)] 投影至立方体 [(-1, -1, -1), (1, 1, 1)] 中

    Returns Matrix4x4

  • 初始化透视投影矩阵

    Parameters

    • fov: number

      垂直视角,视锥体顶面和底面间的夹角,必须大于0 (角度)

    • aspect: number

      近裁剪面的宽高比

    • near: number

      视锥体近边界

    • far: number

      视锥体远边界

      视锥体的八个顶点分别被投影到立方体 [(-1, -1, -1), (1, 1, 1)] 八个顶点上

    Returns Matrix4x4

  • 将矩阵数据转换为数组

    Parameters

    • array: number[] | Float32Array = []

      保存矩阵数据的数组

    • index: number = 0

      数组中的起始位置

    • transpose: boolean = false

      是否转置

    Returns number[] | Float32Array

  • 变换坐标数组数据

    Parameters

    • vIn: number[]

      被变换坐标数组数据

    • vOut: number[] = []

      变换后的坐标数组数据

    Returns number[]

  • 使用转换矩阵将 Ray3 对象从一个空间坐标转换到另一个空间坐标。

    Returns

    转换后的Ray3。

    Parameters

    • inRay: Ray3

      被转换的Ray3。

    • outRay: Ray3 = ...

      转换后的Ray3。

    Returns Ray3

Generated using TypeDoc