weldx.transformations.WXRotation.reduce#

WXRotation.reduce(self, left=None, right=None, return_indices=False)#

Reduce this rotation with the provided rotation groups.

Reduction of a rotation p is a transformation of the form q = l * p * r, where l and r are chosen from left and right respectively, such that rotation q has the smallest magnitude.

If left and right are rotation groups representing symmetries of two objects rotated by p, then q is the rotation of the smallest magnitude to align these objects considering their symmetries.

Parameters:
  • left (Rotation instance, optional) – Object containing the left rotation(s). Default value (None) corresponds to the identity rotation.

  • right (Rotation instance, optional) – Object containing the right rotation(s). Default value (None) corresponds to the identity rotation.

  • return_indices (bool, optional) – Whether to return the indices of the rotations from left and right used for reduction.

Returns:

  • reduced (Rotation instance) – Object containing reduced rotations.

  • left_best, right_best (integer ndarray) – Indices of elements from left and right used for reduction.