Hello Michael, On 2014-08-15 14:09, Michael Raab wrote: > If I try to decompose 2 Matrices which are nearly the same I get a > result scale vector that has switch axis. Here's an example: > Matrix 1: > 1.040 -1.040 0.000 0.000 > 0.707 0.707 0.000 0.000 > 0.000 0.000 1.000 0.000 > 0.000 0.000 0.000 1.000 > Result 1: > Rotation 0, 0, 45 > Scale 1.47031, 1, 1 > Scale Orientation 0, 0, -0.382683, 0.92388 > Matrix 2: > 1.046 -1.046 0.000 0.000 > 0.707 0.707 0.000 0.000 > 0.000 0.000 1.000 0.000 > 0.000 0.000 0.000 1.000 > Result 2: > Rotation: 0, 0, 45 > Scale: 1, 1.47986, 1 > Scale Orientation: 0, 0, 0.382683, 0.92388 > Has someone an explanation for this?
assuming that recombining this back into matrices yields the starting matrices (i.e. it is not a bug in the decomposition) this would be caused by a degree of freedom in the algorithm. I can think of the following options: - figure out where this degree of freedom is and make choose the scale orientation more consistently. - can you use a ComponentTransform instead of a plain Transform and only modify the individual components. That would make the decomposed form the canonical representation and only build the matrix from those. - can you make assumptions about the matrix, e.g. is it composed from translation, rotation, and (uniform) scale only? Cheers, Carsten ------------------------------------------------------------------------------ _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users