Skip to content
Matrix3x3

基础类型 / Matrix3x3

Matrix3x3 Class
​

三维矩阵


Precautions

列矩阵

Table of contents ​

Properties
​

m00: number
矩阵第 0 列第 0 行的元素。
m01: number
矩阵第 0 列第 1 行的元素。
m02: number
矩阵第 0 列第 2 行的元素。
m10: number
矩阵第 1 列第 0 行的元素。
m11: number
矩阵第 1 列第 1 行的元素。
m12: number
矩阵第 1 列第 2 行的元素。
m20: number
矩阵第 2 列第 0 行的元素。
m21: number
矩阵第 2 列第 1 行的元素。
m22: number
矩阵第 2 列第 2 行的元素。

Accessors
​

identity(): void
将当前矩阵设为单位矩阵。

Methods
​

add(a, b, outer?): Matrix3x3
逐元素矩阵加法
clone(a: Matrix3x3): Matrix3x3
获得指定矩阵的拷贝
determinant(a: Matrix3x3): number
求目标矩阵行列式
equals(a: Matrix3x3, b: Matrix3x3, epsilon?: number): boolean
排除浮点数误差的矩阵近似等价判断
identity(): void
将当前矩阵设为单位矩阵。
invert(a: Matrix3x3, outer?: Matrix3x3): Matrix3x3
将目标矩阵求逆,注意,在矩阵不可逆时,会返回一个全为 0 的矩阵。
multiply(a: Matrix3x3, b: number, outer?: Matrix3x3): Matrix3x3
矩阵乘法
rotate(a: Matrix3x3, rad: number, outer?: Matrix3x3): Matrix3x3
在给定矩阵变换基础上加入新旋转变换
scale(a: Matrix3x3, v: Vector, outer?: Matrix3x3): Matrix3x3
在给定矩阵变换基础上加入新缩放变换
set(other: Matrix3x3): Matrix3x3
设置当前矩阵使其与指定矩阵相等。
strictEquals(a: Matrix3x3, b: Matrix3x3): boolean
矩阵等价判断
subtract(a: Matrix3x3, b: Matrix3x3, outer?: Matrix3x3): Matrix3x3
逐元素矩阵减法
toString(): string
返回当前矩阵的字符串表示。
transpose(a: Matrix3x3, outer?: Matrix3x3): Matrix3x3
将目标矩阵变为转置矩阵
add(a, b, outer?): Matrix3x3
逐元素矩阵加法
clone(a: Matrix3x3): Matrix3x3
获得指定矩阵的拷贝
determinant(a: Matrix3x3): number
求目标矩阵行列式
equals(a: Matrix3x3, b: Matrix3x3, epsilon?: number): boolean
排除浮点数误差的矩阵近似等价判断
fromMat4(a: Matrix4x4, outer?: Matrix3x3): Matrix3x3
取四阶矩阵的前三阶
fromRotation(rad: number, outer?: Matrix3x3): Matrix3x3
计算旋转矩阵
fromScaling(v: Vector2, outer?: Matrix3x3): Matrix3x3
计算缩放矩阵
fromTranslation(v: Vector2, outer?: Matrix3x3): Matrix3x3
计算位移矩阵
fromViewUp(view: Vector, up?: Vector, outer?: Matrix3x3, epsilon?: number): Matrix3x3
根据视口前方向和上方向计算矩阵
inverseTransposeMat4(a: Matrix4x4, outer?: Matrix3x3): Matrix3x3
计算指定四阶矩阵的逆转置三维矩阵
invert(a: Matrix3x3, outer?: Matrix3x3): Matrix3x3
将目标矩阵求逆,注意,在矩阵不可逆时,会返回一个全为 0 的矩阵。
multiply(a: Matrix3x3, b: number, outer?: Matrix3x3): Matrix3x3
矩阵乘法
rotate(a: Matrix3x3, rad: number, outer?: Matrix3x3): Matrix3x3
在给定矩阵变换基础上加入新旋转变换
scale(a: Matrix3x3, v: Vector, outer?: Matrix3x3): Matrix3x3
在给定矩阵变换基础上加入新缩放变换
strictEquals(a: Matrix3x3, b: Matrix3x3): boolean
矩阵等价判断
subtract(a: Matrix3x3, b: Matrix3x3, outer?: Matrix3x3): Matrix3x3
逐元素矩阵减法
transformVector(a: Matrix3x3, b: Vector, outer?: Vector): Vector
向量与三维矩阵乘法
transformVector2(a: Matrix3x3, b: Vector2, outer?: Vector2): Vector2
向量与三维矩阵乘法,默认向量第三位为 1。
transpose(a: Matrix3x3, outer?: Matrix3x3): Matrix3x3
将目标矩阵变为转置矩阵

用给定的 Matrix3x3 构建一个新的 Matrix3x3

Parameters ​

other Matrix3x3给定的 Matrix3x3 对象

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

用给定的元素构建一个新的 Matrix3x3

Parameters ​

m00? number第 0 列第 0 行的元素 default:1 range:不做限制 type: 浮点数
m01? number第 0 列第 1 行的元素 default:0 range:不做限制 type: 浮点数
m02? number第 0 列第 2 行的元素 default:0 range:不做限制 type: 浮点数
m10? number第 1 列第 0 行的元素 default:0 range:不做限制 type: 浮点数
m11? number第 1 列第 1 行的元素 default:1 range:不做限制 type: 浮点数
m12? number第 1 列第 2 行的元素 default:0 range:不做限制 type: 浮点数
m20? number第 2 列第 0 行的元素 default:0 range:不做限制 type: 浮点数
m21? number第 2 列第 1 行的元素 default:0 range:不做限制 type: 浮点数
m22? number第 2 列第 2 行的元素 default:1 range:不做限制 type: 浮点数

Properties ​

m00
​

• m00: number

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


m01
​

• m01: number

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


m02
​

• m02: number

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


m10
​

• m10: number

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


m11
​

• m11: number

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


m12
​

• m12: number

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


m20
​

• m20: number

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


m21
​

• m21: number

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


m22
​

• m22: number

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

Accessors ​

identity
​

• Static get identity(): Matrix3x3

获得一个默认矩阵

Methods ​

add
​

• add(mat): Matrix3x3

矩阵逐元素相加。

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

clone
​

• clone(): Matrix3x3

克隆当前矩阵。

Parameters ​

a Matrix3x3指定矩阵

Returns ​

Matrix3x3一个新的矩阵

determinant
​

• determinant(): number

计算当前矩阵的行列式。

Parameters ​

a Matrix3x3目标矩阵

Returns ​

number行列式的结果

equals
​

• equals(other, epsilon?): boolean

判断当前矩阵是否在误差范围内与指定矩阵相等。

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
epsilon? number误差值
default:1.e-7
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

boolean返回比对结果

identity
​

• identity(): void

将当前矩阵设为单位矩阵。


invert
​

• invert(): void

将当前矩阵计算为其逆矩阵。注意,在矩阵不可逆时,会返回一个全为 0 的矩阵。

Parameters ​

a Matrix3x3目标矩阵
outer? Matrix3x3写入数据的矩阵 default:null

Returns ​

Matrix3x3求逆后的矩阵

multiply
​

• multiply(mat): Matrix3x3

矩阵乘法。将当前矩阵左乘指定矩阵的结果赋值给当前矩阵。

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

• Static multiply(a, b, outer?): Matrix3x3

取四阶矩阵的前三阶,与三维矩阵相乘

Parameters ​

a Matrix3x3矩阵 a
b Matrix4x4矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

• Static multiply(a, b, outer?): Matrix3x3

矩阵标量乘法

Parameters ​

a Matrix3x3矩阵 a
b number数字b
range: 无限制 type:浮点数
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

scale
​

• scale(vec): Matrix3x3

将当前矩阵左乘缩放矩阵的结果赋值给当前矩阵,缩放矩阵由各个轴的缩放给出。

Parameters ​

a Matrix3x3三维矩阵
v Vector缩放矩阵的三维向量
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3缩放后的三维矩阵

set
​

• set(other): Matrix3x3

设置当前矩阵使其与指定矩阵相等。

Parameters ​

other Matrix3x3指定矩阵

Returns ​

Matrix3x3this

• set(m00?, m01?, m02?, m10?, m11?, m12?, m20?, m21?, m22?): Matrix3x3

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

Parameters ​

m00? number第 0 行第 0 列的元素 default:1 range:不做限制 type: 浮点数
m01? number第 0 行第 1 列的元素 default:0 range:不做限制 type: 浮点数
m02? number第 0 行第 2 列的元素 default:0 range:不做限制 type: 浮点数
m10? number第 1 行第 0 列的元素 default:0 range:不做限制 type: 浮点数
m11? number第 1 行第 1 列的元素 default:1 range:不做限制 type: 浮点数
m12? number第 1 行第 2 列的元素 default:0 range:不做限制 type: 浮点数
m20? number第 2 行第 0 列的元素 default:0 range:不做限制 type: 浮点数
m21? number第 2 行第 1 列的元素 default:0 range:不做限制 type: 浮点数
m22? number第 2 行第 2 列的元素 default:1 range:不做限制 type: 浮点数

Returns ​

Matrix3x3this

strictEquals
​

• strictEquals(other): boolean

判断当前矩阵是否与指定矩阵相等。

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b

Returns ​

boolean返回比对结果

subtract
​

• subtract(mat): Matrix3x3

当前矩阵逐元素减去参数矩阵

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

toString
​

• toString(): string

返回当前矩阵的字符串表示。

Returns ​

string返回矩阵的字符串信息

transpose
​

• transpose(): void

将当前矩阵计算为其转置矩阵。

Parameters ​

a Matrix3x3目标矩阵
outer? Matrix3x3写入数据的矩阵 default:null

Returns ​

Matrix3x3转置后的矩阵

add
​

• Static add(a, b, outer?): Matrix3x3

逐元素矩阵加法

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

clone
​

• Static clone(a): Matrix3x3

获得指定矩阵的拷贝

Parameters ​

a Matrix3x3指定矩阵

Returns ​

Matrix3x3一个新的矩阵

determinant
​

• Static determinant(a): number

求目标矩阵行列式

Parameters ​

a Matrix3x3目标矩阵

Returns ​

number行列式的结果

equals
​

• Static equals(a, b, epsilon?): boolean

排除浮点数误差的矩阵近似等价判断

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
epsilon? number误差值
default:1.e-7
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

boolean返回比对结果

fromMat4
​

• Static fromMat4(a, outer?): Matrix3x3

取四阶矩阵的前三阶

Parameters ​

a Matrix4x4源四阶矩阵
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3提取后的三维矩阵

fromRotation
​

• Static fromRotation(rad, outer?): Matrix3x3

计算旋转矩阵

Parameters ​

rad number旋转弧度
range: 无限制 type:浮点数
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3含旋转信息的三维矩阵

fromScaling
​

• Static fromScaling(v, outer?): Matrix3x3

计算缩放矩阵

Parameters ​

v Vector2缩放信息的二维向量
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3含缩放信息的三维矩阵

fromTranslation
​

• Static fromTranslation(v, outer?): Matrix3x3

计算位移矩阵

Parameters ​

v Vector2位移的二维向量
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3含位移信息的三维矩阵

fromViewUp
​

• Static fromViewUp(view, up?, outer?, epsilon?): Matrix3x3

根据视口前方向和上方向计算矩阵

Parameters ​

view Vector视口向量
up? Vector视口的上向量 default:null
outer? Matrix3x3接收结果三维矩阵对象 default:null
epsilon? number最小误差数 default:MathDefine.EPSILON
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

Matrix3x3计算后的三维矩阵

inverseTransposeMat4
​

• Static inverseTransposeMat4(a, outer?): Matrix3x3

计算指定四阶矩阵的逆转置三维矩阵

Parameters ​

a Matrix4x4四阶矩阵
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3逆转置后的三维矩阵

invert
​

• Static invert(a, outer?): Matrix3x3

将目标矩阵求逆,注意,在矩阵不可逆时,会返回一个全为 0 的矩阵。

Parameters ​

a Matrix3x3目标矩阵
outer? Matrix3x3写入数据的矩阵 default:null

Returns ​

Matrix3x3求逆后的矩阵

multiply
​

• Static multiply(a, b, outer?): Matrix3x3

矩阵乘法

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

• Static multiply(a, b, outer?): Matrix3x3

取四阶矩阵的前三阶,与三维矩阵相乘

Parameters ​

a Matrix3x3矩阵 a
b Matrix4x4矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

• Static multiply(a, b, outer?): Matrix3x3

矩阵标量乘法

Parameters ​

a Matrix3x3矩阵 a
b number数字b
range: 无限制 type:浮点数
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

rotate
​

• Static rotate(a, rad, outer?): Matrix3x3

在给定矩阵变换基础上加入新旋转变换

Parameters ​

a Matrix3x3需要变换的矩阵
rad number旋转弧度
range: 无限制 type:浮点数
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3旋转后的三维矩阵

scale
​

• Static scale(a, v, outer?): Matrix3x3

在给定矩阵变换基础上加入新缩放变换

Parameters ​

a Matrix3x3三维矩阵
v Vector缩放矩阵的三维向量
outer? Matrix3x3接收结果三维矩阵对象 default:null

Returns ​

Matrix3x3缩放后的三维矩阵

strictEquals
​

• Static strictEquals(a, b): boolean

矩阵等价判断

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b

Returns ​

boolean返回比对结果

subtract
​

• Static subtract(a, b, outer?): Matrix3x3

逐元素矩阵减法

Parameters ​

a Matrix3x3矩阵 a
b Matrix3x3矩阵 b
outer? Matrix3x3接收结果的矩阵 default:null

Returns ​

Matrix3x3计算后的矩阵

transformVector
​

• Static transformVector(a, b, outer?): Vector

向量与三维矩阵乘法

Parameters ​

a Matrix3x3三维矩阵
b Vector三维向量
outer? Vector被写入的三维向量 default:null

Returns ​

Vector变换后的三维向量

transformVector2
​

• Static transformVector2(a, b, outer?): Vector2

向量与三维矩阵乘法,默认向量第三位为 1。

Parameters ​

a Matrix3x3三维矩阵
b Vector2二维向量
outer? Vector2被写入的二维向量 default:null

Returns ​

Vector2变换后的二维向量

transpose
​

• Static transpose(a, outer?): Matrix3x3

将目标矩阵变为转置矩阵

Parameters ​

a Matrix3x3目标矩阵
outer? Matrix3x3写入数据的矩阵 default:null

Returns ​

Matrix3x3转置后的矩阵