new Matrix4()
创建并初始化一个四乘四的单位矩阵
Members
-
el :Array.<number>
-
矩阵列优先数组
-
isMatrix4 :boolean
-
是否为 Matrix4
- Default Value:
- true
Methods
-
clone() → {ht.Math.Matrix4}
-
创建一个相同的矩阵
Returns:
ht.Math.Matrix4 -
compose(position, quaternion, scale) → {ht.Math.Matrix4}
-
设置当前矩阵为由位置、四元数和缩放组合变换的矩阵
Parameters:
Name Type Description position
ht.Math.Vector3 位置
quaternion
ht.Math.Quaternion 四元数
scale
ht.Math.Vector3 缩放
Returns:
ht.Math.Matrix4 -
composeFromArray(position, quaternion, scale) → {ht.Math.Matrix4}
-
Parameters:
Name Type Attributes Description position
Array.<number> <optional>
quaternion
Array.<number> <optional>
scale
Array.<number> <optional>
Returns:
ht.Math.Matrix4 -
copy(Matrix4) → {ht.Math.Matrix4}
-
将矩阵 Matrix4 的元素复制到当前矩阵中
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Matrix4 -
copyPosition(Matrix4) → {ht.Math.Matrix4}
-
将给定矩阵 Matrix4 的平移分量拷贝到当前矩阵中
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Matrix4 -
decompose(position, quaternion, scale) → {ht.Math.Matrix4}
-
将当前矩阵分解到给定的平移、旋转和缩放分量中
Parameters:
Name Type Description position
ht.Math.Vector3 位置
quaternion
ht.Math.Quaternion 四元数
scale
ht.Math.Vector3 缩放
Returns:
ht.Math.Matrix4 -
determinant() → {number}
-
返回当前矩阵的行列式
Returns:
number -行列式
-
equals(Matrix4) → {boolean}
-
如果矩阵 Matrix4 与当前矩阵所有对应元素相同则返回true
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
boolean -
extractRotation(Matrix4) → {ht.Math.Matrix4}
-
将给定矩阵 Matrix4 的旋转分量提取到该矩阵的旋转分量中
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Matrix4 -
fromArray(Array, offset) → {ht.Math.Matrix4}
-
使用列优先数组来设置当前矩阵
Parameters:
Name Type Attributes Description Array
Array.<Object> 矩阵列优先数组
offset
number <optional>
数组的偏移量,默认值为 0
Returns:
ht.Math.Matrix4 -
getElements() → {Array.<number>}
-
返回矩阵列优先数组
Returns:
Array.<number> -
getInverse(Matrix4) → {ht.Math.Matrix4}
-
将当前矩阵设置为 Matrix4 矩阵的逆矩阵
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 -
getPosition(position) → {ht.Math.Vector3}
-
返回当前矩阵的位置分量
Parameters:
Name Type Attributes Description position
ht.Math.Vector3 <optional>
Returns:
ht.Math.Vector3 -
identity() → {ht.Math.Matrix4}
-
将当前矩阵重置为单位矩阵
Returns:
ht.Math.Matrix4 -
invert() → {ht.Math.Matrix4}
-
矩阵翻转
Returns:
ht.Math.Matrix4 -
lookAt(eye, center, up) → {ht.Math.Matrix4}
-
构造一个旋转矩阵,从 eye 指向 center,由向量 up 定向
Parameters:
Name Type Description eye
ht.Math.Vector3 摄像机
center
ht.Math.Vector3 目标点
up
ht.Math.Vector3 摄像机正上方向
Returns:
ht.Math.Matrix4 -
makeRotationAxis(axis, rotation) → {ht.Math.Matrix4}
-
设置当前矩阵为围绕轴 axis 旋转 rotation 弧度
Parameters:
Name Type Description axis
ht.Math.Vector3 旋转轴
rotation
number 旋转量(弧度制)
Returns:
ht.Math.Matrix4 -
makeRotationFromEuler(euler) → {ht.Math.Matrix4}
-
将传入的欧拉角转换为该矩阵的旋转分量(左上角的3x3矩阵)。 矩阵的其余部分被设为单位矩阵。根据欧拉角euler的旋转顺序order,总共有六种可能的结果
Parameters:
Name Type Description euler
ht.Math.Euler Returns:
ht.Math.Matrix4 -
makeRotationFromQuaternion(Quaternion) → {ht.Math.Matrix4}
-
将这个矩阵的旋转分量设置为四元数指定的旋转, 矩阵的其余部分被设为单位矩阵
Parameters:
Name Type Description Quaternion
ht.Math.Quaternion 四元数
Returns:
ht.Math.Matrix4 -
multiply(Matrix4) → {ht.Math.Matrix4}
-
将当前矩阵乘以矩阵 Matrix4
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Matrix4 -
multiplyMatrices(a, b) → {ht.Math.Matrix4}
-
设置当前矩阵为矩阵a x 矩阵b
Parameters:
Name Type Description a
ht.Math.Matrix4 b
ht.Math.Matrix4 Returns:
ht.Math.Matrix4 -
multiplyScalar(scale) → {ht.Math.Matrix4}
-
当前矩阵所有的元素乘以该缩放值 scale
Parameters:
Name Type Description scale
number Returns:
ht.Math.Matrix4 -
premultiply(Matrix4) → {ht.Math.Matrix4}
-
将矩阵 Matrix4 乘以当前矩阵
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Matrix4 -
rotate(r) → {ht.Math.Matrix4}
-
在当前值基础上设置旋转值
Parameters:
Name Type Description r
number Returns:
ht.Math.Matrix4- Since:
- 7.7.0
-
scale(scale3d) → {ht.Math.Matrix4}
-
在当前值基础上增加缩放值
Parameters:
Name Type Description scale3d
Point3d Returns:
ht.Math.Matrix4 -
set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) → {ht.Math.Matrix4}
-
将传入的数值以行优先的格式设置给该矩阵
Parameters:
Name Type Description n11
number n12
number n13
number n14
number n21
number n22
number n23
number n24
number n31
number n32
number n33
number n34
number n41
number n42
number n43
number n44
number Returns:
ht.Math.Matrix4 -
setPosition(position) → {ht.Math.Matrix4}
-
设置当前矩阵的位置分量
Parameters:
Name Type Description position
ht.Math.Vector3 | Point3d 位置
Returns:
ht.Math.Matrix4 -
toArray(array, offset) → {Array.<number>}
-
使用列优先格式将此矩阵的元素写入数组中
Parameters:
Name Type Attributes Description array
Array.<Object> <optional>
用于存储矩阵元素的数组,如果未指定会创建一个新的数组
offset
number <optional>
数组中元素的偏移量
Returns:
Array.<number> -
transpose() → {ht.Math.Matrix4}
-
将该矩阵转置
Returns:
ht.Math.Matrix4- Since:
- 7.7.0