Files
XCEngine/docs/api/math/math-matrix3.md

1.5 KiB
Raw Blame History

Matrix3 / Matrix3x3

3x3 矩阵结构体,用于表示 3D 旋转和缩放变换。

头文件

#include <XCEngine/Math/Matrix3.h>

命名空间

XCEngine::Math

类型别名

using Matrix3 = Matrix3x3;

存储方式

行优先存储 (row-major)

m[row][col]
m[0][0] m[0][1] m[0][2]
m[1][0] m[1][1] m[1][2]
m[2][0] m[2][1] m[2][2]

构造函数

  • 默认构造函数初始化为零矩阵

静态工厂方法

方法 返回值 描述
Identity() Matrix3 单位矩阵
Zero() Matrix3 零矩阵
RotationX(float radians) Matrix3 X 轴旋转矩阵
RotationY(float radians) Matrix3 Y 轴旋转矩阵
RotationZ(float radians) Matrix3 Z 轴旋转矩阵
Scale(const Vector3& scale) Matrix3 缩放矩阵

实例方法

方法 返回值 描述
Transpose() Matrix3 转置矩阵
Inverse() Matrix3 逆矩阵
Determinant() float 行列式

运算符

运算符 描述
operator*(Matrix3, Matrix3) 矩阵乘法
operator*(Matrix3, Vector3) 矩阵-向量乘法

使用示例

Matrix3 rotX = Matrix3::RotationX(Math::HALF_PI);
Matrix3 rotY = Matrix3::RotationY(0.0f);
Matrix3 scale = Matrix3::Scale(Vector3(2.0f, 2.0f, 2.0f));
Matrix3 combined = rotX * scale;
Vector3 transformed = combined * Vector3(1.0f, 0.0f, 0.0f);