UE 矩阵变换

UE 矩阵变换

Tags
UE5
C++
Published
November 8, 2023
Author
Think01
矩阵元素可通过以下方式访问:
FMatrix::M[rowIndex][columnIndex]
 

乘法

因为FMatrix约定是使用行矩阵表示,所以矩阵相乘的顺序与传统数学方式相反:
  • 数学(列表示):M3 * M2 * M1 * vec
    • 首先应用 M1,最后应用 M3
  • UE(行表示):vec * M1 * M2 * M3
    • 要应用 M1,首先需要反转乘法。
请注意,乘法运算符的实现没有什么特别之处:
void FMatrix::mult(int A[N][N], int B[N][N]) { int C[N][N]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { int num = 0; for (int k = 0; k < N; k++) { num += A[i][k] * B[k][j]; } C[i][j] = num; } } }
UE是左手坐标系

旋转变换 逆时针

绕x轴—roll
绕y轴—picth
绕z轴—yaw

缩放