基础类型 / 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
Matrix3x3 | this |
|---|
• 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
Matrix3x3 | this |
|---|
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 | 转置后的矩阵 |
|---|