Matrix4 结构体

Matrix4 structure

4x4 矩阵实现。

public struct Matrix4

构造函数

名称描述
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 Identity { get; }获取单位矩阵。
Determinant { get; }获取矩阵的行列式。

方法

名称描述
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 个运算符)

字段

名称描述
m00m00。
m01m01。
m02m02。
m03m03。
m10m10。
m11m11。
m12m12。
m13m13。
m20m20。
m21m21。
m22m22。
m23m23。
m30m30。
m31m31。
m32m32。
m33m33。

示例

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;

另请参见