Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Mat4

表示四维(4x4)矩阵。

Hierarchy

Index

Constructors

constructor

  • newMat4(other: Mat4): Mat4
  • newMat4(m00?: undefined | number, m01?: undefined | number, m02?: undefined | number, m03?: undefined | number, m04?: undefined | number, m05?: undefined | number, m06?: undefined | number, m07?: undefined | number, m08?: undefined | number, m09?: undefined | number, m10?: undefined | number, m11?: undefined | number, m12?: undefined | number, m13?: undefined | number, m14?: undefined | number, m15?: undefined | number): Mat4
  • Parameters

    Returns Mat4

  • Parameters

    • Optional m00: undefined | number
    • Optional m01: undefined | number
    • Optional m02: undefined | number
    • Optional m03: undefined | number
    • Optional m04: undefined | number
    • Optional m05: undefined | number
    • Optional m06: undefined | number
    • Optional m07: undefined | number
    • Optional m08: undefined | number
    • Optional m09: undefined | number
    • Optional m10: undefined | number
    • Optional m11: undefined | number
    • Optional m12: undefined | number
    • Optional m13: undefined | number
    • Optional m14: undefined | number
    • Optional m15: undefined | number

    Returns Mat4

Properties

m00

m00: number

矩阵第 0 列第 0 行的元素。

m01

m01: number

矩阵第 0 列第 1 行的元素。

m02

m02: number

矩阵第 0 列第 2 行的元素。

m03

m03: number

矩阵第 0 列第 3 行的元素。

m04

m04: number

矩阵第 1 列第 0 行的元素。

m05

m05: number

矩阵第 1 列第 1 行的元素。

m06

m06: number

矩阵第 1 列第 2 行的元素。

m07

m07: number

矩阵第 1 列第 3 行的元素。

m08

m08: number

矩阵第 2 列第 0 行的元素。

m09

m09: number

矩阵第 2 列第 1 行的元素。

m10

m10: number

矩阵第 2 列第 2 行的元素。

m11

m11: number

矩阵第 2 列第 3 行的元素。

m12

m12: number

矩阵第 3 列第 0 行的元素。

m13

m13: number

矩阵第 3 列第 1 行的元素。

m14

m14: number

矩阵第 3 列第 2 行的元素。

m15

m15: number

矩阵第 3 列第 3 行的元素。

Static IDENTITY

IDENTITY: object = Object.freeze(new Mat4())

Type declaration

Methods

add

  • add(mat: Mat4): this
  • 矩阵加法。将当前矩阵与指定矩阵的相加,结果返回给当前矩阵。

    Parameters

    • mat: Mat4

      相加的矩阵

    Returns this

clone

determinant

  • determinant(): number

equals

  • equals(other: Mat4, epsilon?: number): boolean
  • 判断当前矩阵是否在误差范围内与指定矩阵相等。

    Parameters

    • other: Mat4

      相比较的矩阵。

    • Default value epsilon: number = EPSILON

      允许的误差,应为非负数。

    Returns boolean

    两矩阵的各元素都分别相等时返回 true;否则返回 false

fromQuat

  • fromQuat(q: Quat): this
  • 重置当前矩阵的值,使其表示指定四元数表示的旋转变换。

    Parameters

    • q: Quat

      四元数表示的旋转变换。

    Returns this

    this

fromRTS

  • 重置当前矩阵的值,使其表示指定的旋转、缩放、位移依次组合的变换。

    Parameters

    • q: Quat

      四元数表示的旋转变换。

    • v: Vec3

      位移变换,表示为各个轴的位移。

    • s: Vec3

      缩放变换,表示为各个轴的缩放。

    Returns this

    this

getRotation

  • 从当前矩阵中计算出旋转变换的部分,并以四元数的形式赋值给出口四元数。

    Parameters

    • out: Quat

      返回值,当未指定时将创建为新的四元数。

    Returns Quat

getScale

  • 从当前矩阵中计算出缩放变换的部分,并以各个轴上缩放的形式赋值给出口向量。

    Parameters

    • out: Vec3

      返回值,当未指定时将创建为新的向量。

    Returns Vec3

getTranslation

  • 从当前矩阵中计算出位移变换的部分,并以各个轴上位移的形式赋值给出口向量。

    Parameters

    • out: Vec3

      返回向量,当未指定时将创建为新的向量。

    Returns Vec3

identity

  • identity(): this

invert

  • invert(): null | this

multiply

  • multiply(mat: Mat4): this
  • 矩阵乘法。将当前矩阵左乘指定矩阵的结果赋值给当前矩阵。

    Parameters

    • mat: Mat4

      指定的矩阵。

    Returns this

multiplyScalar

  • multiplyScalar(scalar: number): this
  • 矩阵数乘。将当前矩阵与指定标量的数乘结果赋值给当前矩阵。

    Parameters

    • scalar: number

      指定的标量。

    Returns this

rotate

  • rotate(rad: number, axis: Vec3): null | this
  • 将当前矩阵左乘旋转矩阵的结果赋值给当前矩阵,旋转矩阵由旋转轴和旋转角度给出。

    Parameters

    • rad: number

      旋转角度(弧度制)

    • axis: Vec3

      旋转轴

    Returns null | this

scale

  • scale(vec: Vec3): this
  • 将当前矩阵左乘缩放矩阵的结果赋值给当前矩阵,缩放矩阵由各个轴的缩放给出。

    Parameters

    • vec: Vec3

      各个轴的缩放。

    Returns this

set

  • set(other: Mat4): any
  • set(m00?: undefined | number, m01?: undefined | number, m02?: undefined | number, m03?: undefined | number, m04?: undefined | number, m05?: undefined | number, m06?: undefined | number, m07?: undefined | number, m08?: undefined | number, m09?: undefined | number, m10?: undefined | number, m11?: undefined | number, m12?: undefined | number, m13?: undefined | number, m14?: undefined | number, m15?: undefined | number): any
  • 设置当前矩阵使其与指定矩阵相等。

    Parameters

    • other: Mat4

      相比较的矩阵。

    Returns any

    this

  • 设置当前矩阵指定元素值。

    Parameters

    • Optional m00: undefined | number
    • Optional m01: undefined | number
    • Optional m02: undefined | number
    • Optional m03: undefined | number
    • Optional m04: undefined | number
    • Optional m05: undefined | number
    • Optional m06: undefined | number
    • Optional m07: undefined | number
    • Optional m08: undefined | number
    • Optional m09: undefined | number
    • Optional m10: undefined | number
    • Optional m11: undefined | number
    • Optional m12: undefined | number
    • Optional m13: undefined | number
    • Optional m14: undefined | number
    • Optional m15: undefined | number

    Returns any

    this

strictEquals

  • strictEquals(other: Mat4): boolean
  • 判断当前矩阵是否与指定矩阵相等。

    Parameters

    • other: Mat4

      相比较的矩阵。

    Returns boolean

    两矩阵的各元素都分别相等时返回 true;否则返回 false

subtract

  • subtract(mat: Mat4): this
  • 计算矩阵减法。将当前矩阵减去指定矩阵的结果赋值给当前矩阵。

    Parameters

    • mat: Mat4

      减数矩阵。

    Returns this

toString

  • toString(): string

translate

  • translate(vec: Vec3): this
  • 将当前矩阵左乘位移矩阵的结果赋值给当前矩阵,位移矩阵由各个轴的位移给出。

    Parameters

    • vec: Vec3

      位移向量。

    Returns this

transpose

  • transpose(): this

Static add

  • add<Out>(out: Out, a: Out, b: Out): Out

Static clone

  • clone<Out>(a: Out): Mat4

Static copy

  • copy<Out>(out: Out, a: Out): Out

Static determinant

  • determinant<Out>(a: Out): number

Static equals

  • equals<Out>(a: Out, b: Out, epsilon?: number): boolean
  • 排除浮点数误差的矩阵近似等价判断

    Type parameters

    Parameters

    • a: Out
    • b: Out
    • Default value epsilon: number = EPSILON

    Returns boolean

Static fromArray

  • fromArray<Out>(out: Out, arr: IWritableArrayLike<number>, ofs?: number): Out
  • 数组转矩阵

    Type parameters

    Parameters

    • out: Out
    • arr: IWritableArrayLike<number>
    • Default value ofs: number = 0

      数组起始偏移量

    Returns Out

Static fromQuat

  • fromQuat<Out>(out: Out, q: Quat): Out

Static fromRT

  • fromRT<Out, VecLike>(out: Out, q: Quat, v: VecLike): Out

Static fromRTS

  • fromRTS<Out, VecLike>(out: Out, q: Quat, v: VecLike, s: VecLike): Out

Static fromRTSOrigin

  • fromRTSOrigin<Out, VecLike>(out: Out, q: Quat, v: VecLike, s: VecLike, o: VecLike): Out
  • 根据指定的旋转、位移、缩放及变换中心信息计算矩阵,以 S->R->T 的顺序应用

    Type parameters

    Parameters

    • out: Out
    • q: Quat

      旋转值

    • v: VecLike

      位移值

    • s: VecLike

      缩放值

    • o: VecLike

      指定变换中心

    Returns Out

Static fromRotation

  • fromRotation<Out, VecLike>(out: Out, rad: number, axis: VecLike): null | Out

Static fromScaling

  • fromScaling<Out, VecLike>(out: Out, v: VecLike): Out