Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Matrix4

Hierarchy

  • Matrix4

Index

Constructors

constructor

  • new Matrix4(raw?: Float32Array, offset?: number): Matrix4
  • Parameters

    • Optional raw: Float32Array
    • Optional offset: number

    Returns Matrix4

Accessors

Static IDENTITY

  • 单位矩阵

    readonly
    static
    memberof

    Matrix4

    Returns Matrix4

    单位矩阵,每次返回都会创建新的对象

Methods

axisRotate

  • 将该矩阵绕指定轴旋转

    memberof

    Matrix4

    Parameters

    • axis: DeepImmutableObject<Vector3>

      轴向量

    • angleInRadians: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

clone

  • 拷贝该矩阵

    memberof

    Matrix4

    Returns Matrix4

    拷贝出来的对象

decomposeTransRotMatScale

  • decomposeTransRotMatScale(dstTranslation: Vector3, dstRotationMatrix: Matrix4, dstScale: Vector3): boolean
  • 分解RTS矩阵为位移、旋转、缩放向量,返回是否成功

    memberof

    Matrix4

    Parameters

    • dstTranslation: Vector3

      目标位移向量

    • dstRotationMatrix: Matrix4

      目标旋转矩阵

    • dstScale: Vector3

      目标缩放分量

    Returns boolean

    分解是否成功,如不成功,可能是缩放分量为0

getColumn

  • 获取矩阵某列

    memberof

    Matrix4

    Parameters

    • column: number

      列数

    • Optional dst: Vector4

    Returns Vector4

    该列数据

getRow

  • 获取矩阵某行

    memberof

    Matrix4

    Parameters

    • row: number

      行数

    • Optional dst: Vector4

    Returns Vector4

    该行数据

getValue

  • getValue(column: number, row: number): number
  • 获取矩阵某行某列的值

    memberof

    Matrix4

    Parameters

    • column: number

      列数

    • row: number

      行数

    Returns number

    自身

inverse

  • 求该矩阵的逆

    memberof

    Matrix4

    Parameters

    Returns Matrix4

    计算结果

multiply

  • 将该矩阵与另一个矩阵相乘

    memberof

    Matrix4

    Parameters

    Returns Matrix4

    计算结果

rotateByQuaternion

  • 将该矩阵使用指定四元数旋转

    memberof

    Matrix4

    Parameters

    Returns Matrix4

    计算结果

scale

  • 将该矩阵进行缩放变换

    memberof

    Matrix4

    Parameters

    • sx: number

      x轴缩放

    • sy: number

      y轴缩放

    • sz: number

      z轴缩放

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

set

  • 拷贝目标矩阵的值到该矩阵

    memberof

    Matrix4

    Parameters

    • val: DeepImmutableObject<Matrix4>

      目标

    Returns Matrix4

    自身

setColumn

  • setColumn(vec: DeepImmutableObject<Vector4>, column: number): Matrix4
  • 设置矩阵某列

    memberof

    Matrix4

    Parameters

    • vec: DeepImmutableObject<Vector4>

      列向量

    • column: number

      列数

    Returns Matrix4

    自身

setRow

  • 设置矩阵某行

    memberof

    Matrix4

    Parameters

    • vec: DeepImmutableObject<Vector4>

      行向量

    • row: number

      行数

    Returns Matrix4

    自身

setValue

  • setValue(value: number, column: number, row: number): Matrix4
  • 设置该矩阵某行某列的值

    memberof

    Matrix4

    Parameters

    • value: number

    • column: number

      列数

    • row: number

      行数

    Returns Matrix4

    自身

toArray

  • toArray(): number[]
  • 返回矩阵数据

    memberof

    Matrix4

    Returns number[]

    矩阵数据,以JSArray返回

transformDirection

  • 矩阵变换作用于方向

    memberof

    Matrix4

    Parameters

    Returns Vector3

    计算结果

transformPoint

  • 矩阵变换作用于点

    memberof

    Matrix4

    Parameters

    Returns Vector3

    计算结果

transformVector

  • 矩阵变换作用于向量

    memberof

    Matrix4

    Parameters

    Returns Vector4

    计算结果

translate

  • translate(tx: number, ty: number, tz: number, dst?: Matrix4): Matrix4
  • 将该矩阵进行位移变换

    memberof

    Matrix4

    Parameters

    • tx: number

      x轴位移

    • ty: number

      y轴位移

    • tz: number

      z轴位移

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

transpose

  • 求该矩阵的转置

    memberof

    Matrix4

    Parameters

    Returns Matrix4

    计算结果

xRotate

  • 将该矩阵绕x轴旋转

    memberof

    Matrix4

    Parameters

    • rx: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

yRotate

  • 将该矩阵绕y轴旋转

    memberof

    Matrix4

    Parameters

    • ry: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

zRotate

  • 将该矩阵绕z轴旋转

    memberof

    Matrix4

    Parameters

    • rz: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static composeFromRST3

  • 从二维RST矩阵扩展到三维RST矩阵

    static
    memberof

    Matrix4

    Parameters

    • m3: DeepImmutableObject<Matrix3>

      二维RST矩阵

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static composeTQS

  • 将位移旋转缩放合成一个RST矩阵,旋转用四元数表示

    static
    memberof

    Matrix4

    Parameters

    • translation: DeepImmutableObject<Vector3>

      位移向量

    • rotation: DeepImmutableObject<Quaternion>

      旋转四元数

    • scale: DeepImmutableObject<Vector3>

      缩放向量

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static composeTRS

  • 将位移旋转缩放合成一个RST矩阵,旋转用矩阵表示

    static
    memberof

    Matrix4

    Parameters

    • translation: DeepImmutableObject<Vector3>

      位移向量

    • rotation: DeepImmutableObject<Matrix4>

      旋转矩阵

    • scale: DeepImmutableObject<Vector3>

      缩放向量

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static createFromArray

  • createFromArray(array: number[]): Matrix4
  • 使用一个数组创建
    此操作会拷贝一份数组

    static
    memberof

    Matrix4

    Parameters

    • array: number[]

      数据源,长度必须为16,否则会抛出异常

    Returns Matrix4

    创建出来的矩阵

Static createFromTypedArray

  • createFromTypedArray(array: Float32Array, offset?: number): Matrix4
  • 使用某个已有的typedArray创建
    此操作不会拷贝数据,而是在原来的内存区域上操作

    static
    memberof

    Matrix4

    Parameters

    • array: Float32Array

      数据源

    • offset: number = 0

    Returns Matrix4

    创建出来的矩阵

Static createRotationAxis

  • 创建绕指定轴旋转的矩阵

    static
    memberof

    Matrix4

    Parameters

    • axis: DeepImmutableObject<Vector3>

      旋转轴

    • angleInRadians: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static createRotationX

  • 创建绕X轴旋转的矩阵

    static
    memberof

    Matrix4

    Parameters

    • rad: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static createRotationY

  • 创建绕Y轴旋转的矩阵

    static
    memberof

    Matrix4

    Parameters

    • rad: number

      旋转幅度,用弧度表示

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static createRotationZ

  • 创建绕Z轴旋转的矩阵

    static
    memberof

    Matrix4

    Parameters

    • rad: number

      旋转轴

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static fromQuaternion

  • 将四元数转换为旋转矩阵

    static
    memberof

    Matrix4

    Parameters

    Returns Matrix4

    计算结果

Static lookAt

  • 构造相机矩阵

    static
    memberof

    Matrix4

    Parameters

    • position: DeepImmutableObject<Vector3>

      相机位置

    • target: DeepImmutableObject<Vector3>

      相机目标位置

    • up: DeepImmutableObject<Vector3>

      上方向

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static orthographic

  • orthographic(left: number, right: number, bottom: number, top: number, near: number, far: number, dst?: Matrix4): Matrix4
  • 构造正交投影矩阵

    static
    memberof

    Matrix4

    Parameters

    • left: number

      左平面

    • right: number

      右平面

    • bottom: number

      上平面

    • top: number

      下平面

    • near: number

      近平面

    • far: number

      远平面

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Static perspective

  • perspective(fieldOfViewRadians: number, aspect: number, near: number, far: number, dst?: Matrix4): Matrix4
  • 构造透视投影矩阵

    static
    memberof

    Matrix4

    Parameters

    • fieldOfViewRadians: number

      视野大小,用弧度表示

    • aspect: number

      宽高比

    • near: number

      近平面

    • far: number

      远平面

    • Optional dst: Matrix4

    Returns Matrix4

    计算结果

Generated using TypeDoc