# Matrix3 / Matrix3x3 3x3 矩阵结构体,用于表示 3D 旋转和缩放变换。 ## 头文件 ```cpp #include ``` ## 命名空间 `XCEngine::Math` ## 类型别名 ```cpp 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)` | 矩阵-向量乘法 | ## 使用示例 ```cpp 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); ```