I'm really confused about the correct order of mul operations to create a Transformation matrix using zmath.Mat operations.
The desired goal is this order, from Left.first to Right.last:
First .scaling(by{1,2,3}) -then-> .rotation(by{quat}) -then-> .translation(to{position}) -then-> .apply_matrix(to{input}) -output-> final vector
The problem is that, as my understanding goes, row-major and column-major have different ordering of operations to achieve correct transformations:
row-major[ vec*S*R*T ]
col-major[ T*R*S*vec ]
So, in order to achieve an S->R->T order: How should I order my arguments for zmath.mul?
mul(mul(mul(vec, S), R), T)
mul(S, mul(R, mul(vec, T)))
- Something else entirely