Bug in Transforms module

When changing (on this order) translation, rotation, and translation again, for a volume, the rotation slider is reset to 0, but the rotation is still in effect (the rotation matrix is not reset).

Steps:

  • Load a volume;
  • Go to the Transforms module;
  • Create a linear transform;
  • Set the volume to be transformed;
  • Change IS translation (for example);
  • Change IS rotation;
  • Change IS translation again;

Then notice that the rotation slider is reset to zero, but the volume is still rotated, as is indicated in the transformation matrix as well.

Tested on the currently latest preview release 4.11.0-2020-04-10 r28945 / ea94099 for Windows.

Thanks for letting us know. This is the intended behavior - only one slider can be at non-zero position at a time (with only one exception). See explanation in Transform’s module documentation’s Transform editing and application section. Let us know if something is not clear.

Hi Andras, sure, I am ok with that, but the fact that only the slider is reset to zero and not the transformation related to it, seems strange for me. We lost track of how much we rotated.

That’s exactly the point. Depending on what order you moved the sliders and how much, you end up with completely different transformations, so if we did not reset the sliders then users might think that there is a one-to-one correspondence between the slider values and the current transformation matrix. We could choose a particular parametrization of orientation (such as Euler angles), but it would only work intuitively for up to a few ten degrees of rotation and we would run into gimbal lock problems when approaching 90deg rotations and ambiguities when exceeding 90deg rotations.

You can always add rotation sliders with arbitrary behavior to your module if that is more appropriate for a particular workflow.

1 Like