Matrix4 结构体
Matrix4 structure
4x4 矩阵实现。
构造函数
| 名称 | 描述 |
|---|
| Matrix4(double[]) | 初始化 Matrix4 结构体的新实例。 |
| Matrix4(FMatrix4) | 从 FMatrix4 实例构造 Matrix4 |
| Matrix4(Vector4, Vector4, Vector4, Vector4) | 从 4 行构造矩阵。 |
| Matrix4(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double) | 初始化 Matrix4 结构体的新实例。 |
属性
方法
| 名称 | 描述 |
|---|
| static Rotate(Quaternion) | 从四元数创建旋转矩阵 |
| static Rotate(double, Vector3) | 通过旋转角度和轴创建旋转矩阵 |
| static RotateFromEuler(Vector3) | 从欧拉角创建旋转矩阵 |
| static RotateFromEuler(double, double, double) | 从欧拉角创建旋转矩阵 |
| static Scale(double) | 创建一个在 x 轴、y 轴和 z 轴上缩放的矩阵。 |
| static Scale(Vector3) | 创建一个在 x 轴、y 轴和 z 轴上缩放的矩阵。 |
| static Scale(double, double, double) | 创建一个在 x 轴、y 轴和 z 轴上缩放的矩阵。 |
| static Translate(Vector3) | 创建一个在 x 轴、y 轴和 z 轴上平移的矩阵 |
| static Translate(double, double, double) | 创建一个在 x 轴、y 轴和 z 轴上平移的矩阵 |
| Concatenate(Matrix4) | 连接两个矩阵 |
| Decompose(out Vector3, out Vector3, out Quaternion) | |
| Inverse() | 对该实例求逆。 |
| Normalize() | 对该实例进行归一化。 |
| SetTRS(Vector3, Vector3, Vector3) | 使用平移/旋转/缩放初始化矩阵 |
| ToArray() | 将矩阵转换为数组。 |
| override ToString() | 返回表示当前 Matrix4 的字符串。 |
| Transpose() | 转置此实例。 |
| operator * | 乘以两个矩阵(4 个运算符) |
字段
示例
Matrix4 mat = Matrix4.RotateFromEuler(90, 0, 0);
Matrix4 mat2 = Matrix4.Translate(0, 10, -50);
Matrix4 transform = mat2 * mat;
Vector4 pos = new Vector4(10, 9, 0, 1);
Vector4 transformed = transform * pos;
另请参见