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