All geometry in computer graphics are transformed by position * transform matrix; The issue is the fact that position is a vector with 3 components (x,y,z); And transform matrix is a 4 by 4 with one column that can be dumped(at least in my case). So my transform matrix is now a 3 by 4 matrix:
axis x { x, y, z }
axis y { x, y, z }
axis z { x, y, z }
position axis { x, y, z }
multiplied with position vector { x, y ,z }
If I dump position axis this can be done with standard formula of matrix multiplication. But it does not transform it. I can make the position vector with 4 components { x, y, z, w } but don't know what to do with the w? My only solution is a slow one, put position vector in a new transform matrix in position axis and multiply them. But it is computationally expensive. How to approach such problem?
Thanks for the answer hardmath; The solution is at here. More precisely to move and rotate a point (vector x y z) with a transform matrix (4 by 4) you must add to the point a new component. This will make the point a vector x y z w; By setting w to be 1 and multiply the point * transform = transformed point in space; If the w = 0 then point * transform = only rotated point. Max Script function:
matrix in max script is made of 4 row components [x, y, z]; row1=x axis; row2=y axis; row3=z axis; row4= position;