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转置后的矩阵