Skip to main content

Class: Matrix3

一个表示 3*3 的矩阵 1--0--0 | | | 0--1--0 | | | 0--0--1

const m = new Matrix3();

Hierarchy​

  • default

    ↳ Matrix3

Constructors​

constructor​

• new Matrix3(m00?, m01?, m02?, m10?, m11?, m12?, m20?, m21?, m22?): Matrix3

Parameters​

NameTypeDefault valueDescription
m00number1第一行第一列,默认是 1
m01number0第一行第二列,默认是 0
m02number0第一行第三列,默认是 0
m10number0第二行第一列,默认是 0
m11number1第二行第二列,默认是 1
m12number0第二行第三列,默认是 0
m20number0第三行第一列,默认是 0
m21number0第三行第二列,默认是 0
m22number1第三行第三列,默认是 1

Returns​

Matrix3

Overrides​

Matrix.constructor

Defined in​

src/math/Matrix3.ts:56

Properties​

elements​

• elements: Float32Array | Float64Array

Overrides​

Matrix.elements

Defined in​

src/math/Matrix3.ts:43

Accessors​

x​

• get x(): number

获取向量 x 值

Returns​

number

number;

Defined in​

src/math/Matrix3.ts:77


y​

• get y(): number

获取向量 y 值

Returns​

number

number;

Defined in​

src/math/Matrix3.ts:85


z​

• get z(): number

获取向量 z 值

Returns​

number

number;

Defined in​

src/math/Matrix3.ts:93


identity​

• get identity(): Matrix3

获取单位矩阵

Returns​

Matrix3

Defined in​

src/math/Matrix3.ts:100

Methods​

fromArray​

▸ fromArray(array, offset?): Matrix3

从数组构建矩阵

Parameters​

NameTypeDefault valueDescription
arrayanyundefined原始数组
offsetnumber0数组偏移量

Returns​

Matrix3

Inherited from​

Matrix.fromArray

Defined in​

src/math/Matrix.ts:15


toArray​

▸ toArray(out?, offset?): Float32Array | Float64Array | number[]

从矩阵转换到数组

Parameters​

NameTypeDefault valueDescription
outFloat32Array | Float64Array | number[][]输出数据
offsetnumber0偏移量

Returns​

Float32Array | Float64Array | number[]

Inherited from​

Matrix.toArray

Defined in​

src/math/Matrix.ts:28


set​

▸ set(m00, m01, m02, m10, m11, m12, m20, m21, m22): Matrix3

将此矩阵的每一项设置为给定的值

Parameters​

NameType
m00any
m01any
m02any
m10any
m11any
m12any
m20any
m21any
m22any

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:117


transpose​

▸ transpose(): Matrix3

将此矩阵转换为转置矩阵

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:126


invert​

▸ invert(m?): Matrix3

将此矩阵转换为逆矩阵

Parameters​

NameType
m?Matrix3

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:136


adjoint​

▸ adjoint(m?): Matrix3

计算此矩阵的伴随矩阵

Parameters​

NameType
m?Matrix3

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:146


determinant​

▸ determinant(): any

计算行列式

Returns​

any

Defined in​

src/math/Matrix3.ts:155


multiply​

▸ multiply(a, b?): Matrix3

计算两个Matrix3矩阵的乘积

Parameters​

NameTypeDescription
aMatrix3
b?Matrix3如果不传,计算 this 和 a 的乘积

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:165


premultiply​

▸ premultiply(a, b?): Matrix3

左乘

Parameters​

NameTypeDescription
aMatrix3
b?Matrix3如果不传,计算 this 和 a 的左乘

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:181


translate​

▸ translate(v): Matrix3

通过给定的向量 Vector2 平移此矩阵

Parameters​

NameTypeDescription
vVector2向量

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:195


rotate​

▸ rotate(rad): Matrix3

旋转此矩阵

Parameters​

NameTypeDescription
radnumber弧度

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:205


scale​

▸ scale(v): Matrix3

通过给定的 Vector2 向量缩放此矩阵

Parameters​

NameTypeDescription
vVector2向量

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:215


fromTranslation​

▸ fromTranslation(v): Matrix3

计算单位矩阵平移后的矩阵

Parameters​

NameTypeDescription
vVector2平移的向量

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:225


fromRotation​

▸ fromRotation(rad): Matrix3

计算单位矩阵旋转后的矩阵

Parameters​

NameTypeDescription
radnumber旋转弧度

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:235


fromScaling​

▸ fromScaling(v): Matrix3

计算单位矩阵缩放后的矩阵

Parameters​

NameTypeDescription
vanyScaling vector

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:245


fromQuat​

▸ fromQuat(q): Matrix3

根据给定的四元数计算矩阵

Parameters​

NameTypeDescription
qQuaternionQuaternion to create matrix from

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:255


normalFromMat4​

▸ normalFromMat4(m): Matrix3

从 4x4 矩阵计算 3x3 正态矩阵(转置逆矩阵)

Parameters​

NameTypeDescription
many给定的 Matrix4 矩阵

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:265


fromMat4​

▸ fromMat4(m): Matrix3

将 Matrix4 左上角的 3x3 值复制到给定的 Matrix3 中。

Parameters​

NameTypeDescription
many源矩阵

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:275


frob​

▸ frob(): any

计算此矩阵的 Frobenius 范数

Returns​

any

Frobenius 范数

Defined in​

src/math/Matrix3.ts:284


add​

▸ add(a, b?): Matrix3

将两个 Matrix3 矩阵相加

Parameters​

NameTypeDescription
aMatrix3
b?Matrix3如果不传,计算 this 和 a 的和

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:294


subtract​

▸ subtract(a, b?): Matrix3

将两个 Matrix3 矩阵相减

Parameters​

NameTypeDescription
aMatrix3
b?Matrix3如果不传,计算 this 和 a 的差

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:310


equals​

▸ equals(a, b?): any

判断两个矩阵是否近似相等

Parameters​

NameTypeDescription
aMatrix3
b?Matrix3如果不传,比较 this 和 a 是否近似相等

Returns​

any

Defined in​

src/math/Matrix3.ts:325


fromRotationTranslationScale​

▸ fromRotationTranslationScale(rotation, x, y, scaleX, scaleY): Matrix3

从给定的旋转角度,位置(二维向量),缩放计算矩阵

Parameters​

NameType
rotationany
xany
yany
scaleXany
scaleYany

Returns​

Matrix3

Defined in​

src/math/Matrix3.ts:342


getNormalMatrix​

▸ getNormalMatrix(m): Matrix3

从 4x4 矩阵计算 3x3 正态矩阵(转置逆矩阵) 这个值传递给着色器,用于计算物体的光照。 它是物体的modelViewMatrix矩阵中,左上角3x3子矩阵的逆的转置矩阵

Parameters​

NameType
mMatrix4

Returns​

Matrix3

Defined in​

src/math/Matrix3.ts:355


copy​

▸ copy(m): Matrix3

将传入的 Matrix3 复制到此矩阵

Parameters​

NameTypeDescription
mMatrix3源矩阵

Returns​

Matrix3

this

Defined in​

src/math/Matrix3.ts:365


clone​

▸ clone(): Matrix3

从此矩阵创建一个新的 3*3 矩阵

Returns​

Matrix3

a new Matrix3

Defined in​

src/math/Matrix3.ts:374


toString​

▸ toString(): string

转换为字符串

Returns​

string

Defined in​

src/math/Matrix3.ts:381