Scientific.Geometry.Transformation.Rotation

Package Scientific :: Package Geometry :: Module Transformation :: Class Rotation |
[frames] | no frames]

# Class Rotation

         Transformation --+
                          |
    RigidBodyTransformation --+
                              |
                             Rotation

Rotational transformation

Instance Methods
Scientific.Geometry.Vector |
__call__(self, other) Returns: the transformed vector |
__init__(self, *args) There are two calling patterns: |
__mul__(self, other) |
asLinearTransformation(self) |
Scientific.Geometry.Quaternion.Quaternion |
asQuaternion(self) Returns: a quaternion representing the same rotation |
(Scientific.Geometry.Vector, `float`) |
axisAndAngle(self) Returns: the axis (a normalized vector) and angle (in radians). |
Transformation |
inverse(self) Returns: the inverse transformation |
Rotation |
rotation(self) Returns: the rotational component |
screwMotion(self) Returns: the four parameters (reference, direction, angle, distance) of a screw-like motion that is equivalent to the transformation. |
`list` of `N.array` |
threeAngles(self, e1, e2, e3, tolerance=1e-07) Find three angles a1, a2, a3 such that Rotation(a1*e1)*Rotation(a2*e2)*Rotation(a3*e3) is equal to the rotation object. |
Translation |
translation(self) Returns: the translational component. |

Class Variables
| is_rotation = `1`

Method Details

### __call__(self, other) (Call operator) |
Parameters: `vector` - the input vector Returns: Scientific.Geometry.Vector the transformed vector Overrides: Transformation.__call__ (inherited documentation)

### __init__(self, *args) (Constructor) |
There are two calling patterns: Rotation(tensor), where tensor is a Scientific.Geometry.Tensor of rank 2 containing the rotation matrix. Rotation(axis, angle), where axis is a Scientific.Geometry.Vector and angle a number (the angle in radians).

### asQuaternion(self) |
Returns: Scientific.Geometry.Quaternion.Quaternion a quaternion representing the same rotation

### axisAndAngle(self) |
Returns: (Scientific.Geometry.Vector, `float`) the axis (a normalized vector) and angle (in radians). The angle is in the interval (-pi, pi]

### inverse(self) |
Returns: Transformation the inverse transformation Overrides: Transformation.inverse (inherited documentation)

### rotation(self) |
Returns: Rotation the rotational component Overrides: RigidBodyTransformation.rotation (inherited documentation)

### screwMotion(self) |
Returns: the four parameters (reference, direction, angle, distance) of a screw-like motion that is equivalent to the transformation. The screw motion consists of a displacement of distance (a `float`) along direction (a normalized Scientific.Geometry.Vector) plus a rotation of angle radians around an axis pointing along direction and passing through the point reference (a Scientific.Geometry.Vector). Overrides: RigidBodyTransformation.screwMotion (inherited documentation)

### threeAngles(self, e1, e2, e3, tolerance=1e-07) |
Find three angles a1, a2, a3 such that Rotation(a1*e1)*Rotation(a2*e2)*Rotation(a3*e3) is equal to the rotation object. e1, e2, and e3 are non-zero vectors. There are two solutions, both of which are computed. Parameters: `e1` (Scientific.Geometry.Vector) - a rotation axis `e2` (Scientific.Geometry.Vector) - a rotation axis `e3` (Scientific.Geometry.Vector) - a rotation axis Returns: `list` of `N.array` a list containing two arrays of shape (3,), each containing the three angles of one solution Raises: `ValueError` - if two consecutive axes are parallel

### translation(self) |
Returns: Translation the translational component. In the case of a mixed rotation/translation, this translation is executed after the rotation. Overrides: RigidBodyTransformation.translation (inherited documentation)