why does System.Numerics Matrix4x4 use a transposed notation?

1.2k views Asked by At

Traditionally notation of a Transformation matrix is as such:

R1 R2 R3 T1
R4 R5 R6 T2
R7 R8 R9 T3
0  0  0  1

The C# System.Numerics.Matrix4x4 class seems to use this convention instead: https://learn.microsoft.com/fr-fr/dotnet/api/system.numerics.matrix4x4?view=net-6.0

R1 R4 R7 0
R2 R5 R8 0
R3 R6 R9 0
T1 T2 T3 1

This is exactly transposed. This means multiplications must be adjusted accordingly: M1 * M2 must be changed to M2_transposed * M1_transposed

Is there some reason for this? Ive never seen this transposed notation used anywhere

0

There are 0 answers