com.kuka.roboticsAPI.geometricModel.math
Interface ITransformation

All Known Implementing Classes:
AbstractTransformation, MatrixTransformation, Transformation, XyzAbcTransformation

public interface ITransformation

Represents a transformation in 3-dimensional space.

The Robotics API always assumes the translation vector to be given in [mm].

Please refer to the documentation of Transformation for more information on transformations.

See Also:
Transformation, MatrixTransformation, XyzAbcTransformation

Method Summary
 Point applyTo(Point point)
          Applies this transformation to the given point.
 Vector applyTo(Vector vector)
          Applies this transformation to the given vector.
 ITransformation compose(ITransformation other)
          If the transformations A and B are represented as homogeneous matrices, then the effect of A.compose(B) is that of the matrix multiplication A*B.
 double distanceTo(ITransformation other)
          Calculates the euclidean distance of the origin of this transformation to the origin of the given transformation.
 IRotation getRotation()
          Returns the rotation corresponding to this transformation.
 Vector getTranslation()
          Returns the translation part of the transformation, i.e. the upper-right 3x1 part of the corresponding homogeneous transformation matrix.
 ITransformation invert()
          Returns an inverted transformation, i.e. a transformation that reverses the effect of this one.
 double rotationalDistanceTo(ITransformation other)
          Calculates the rotational distance from this transformation to the other transformation.
 ITransformation transformationTo(ITransformation other)
          Calculates the transformation needed to move this transformation into the other transformation.
 

Method Detail

applyTo

Vector applyTo(Vector vector)
Applies this transformation to the given vector. This results in a (displacement) vector represented in the new coordinate system. From a numerical point of view only the rotational part of the transformation is applied to the three components of the vector, the translational part of the transformation will not be applied to the vector

See class info of ITransformation or Vector for more information

Parameters:
vector - the vector to be transformed
Returns:
a new rotated vector

applyTo

Point applyTo(Point point)
Applies this transformation to the given point. This results in a point represented in the new coordinate system, which means that the origin of the point is translated. From a numerical point of view the translational and the rotational part of the transformation are applied to the three components of the vector.

Parameters:
point - the point to be transformed
Returns:
a new point

compose

ITransformation compose(ITransformation other)
If the transformations A and B are represented as homogeneous matrices, then the effect of A.compose(B) is that of the matrix multiplication A*B.

Parameters:
other - the transformation to combine with this one
Returns:
the combined transformation

invert

ITransformation invert()
Returns an inverted transformation, i.e. a transformation that reverses the effect of this one.

Returns:
the inverted transformation.

getRotation

IRotation getRotation()
Returns the rotation corresponding to this transformation.

Returns:
the rotation part of the transformation

getTranslation

Vector getTranslation()
Returns the translation part of the transformation, i.e. the upper-right 3x1 part of the corresponding homogeneous transformation matrix.

Returns:
the translation part of the transformation

transformationTo

ITransformation transformationTo(ITransformation other)
Calculates the transformation needed to move this transformation into the other transformation. The following holds true:

trafo1.compose(trafo1.rotationTo(trafo2)) is equal to trafo2

Parameters:
other - another transformation
Returns:
the difference transformation between this and the other transformation.

distanceTo

double distanceTo(ITransformation other)
Calculates the euclidean distance of the origin of this transformation to the origin of the given transformation.

Parameters:
other - another transformation
Returns:
the distance of the origins in [mm]

rotationalDistanceTo

double rotationalDistanceTo(ITransformation other)
Calculates the rotational distance from this transformation to the other transformation. The rotational distance is the angle of rotation needed to turn this transformation into the orientation of the other transformation.

Use this function to compare the orientations of two transformations.

Parameters:
other - another transformation
Returns:
the positive rotational distance to the other transformation in [rad], in the range 0 to pi.


Copyright © 2019. All rights reserved.