Rotation
- class compas.geometry.Rotation(matrix=None, check=True)[source]
Bases:
compas.geometry.transformations.transformation.Transformation
Create a rotation transformation.
The class contains methods for converting rotation matrices to axis-angle representations, Euler angles, quaternion and basis vectors.
- Parameters
matrix (4x4 matrix-like, optional) – A 4x4 matrix (or similar) representing a rotation.
- Raises
ValueError – If the default constructor is used, and the provided transformation matrix is not a rotation.
Examples
>>> from compas.geometry import Frame >>> f1 = Frame([0, 0, 0], [0.68, 0.68, 0.27], [-0.67, 0.73, -0.15]) >>> R = Rotation.from_frame(f1) >>> args = False, 'xyz' >>> alpha, beta, gamma = R.euler_angles(*args) >>> xaxis, yaxis, zaxis = [1, 0, 0], [0, 1, 0], [0, 0, 1] >>> Rx = Rotation.from_axis_and_angle(xaxis, alpha) >>> Ry = Rotation.from_axis_and_angle(yaxis, beta) >>> Rz = Rotation.from_axis_and_angle(zaxis, gamma) >>> f2 = Frame.worldXY() >>> f1 == f2.transformed(Rx * Ry * Rz) True
Attributes
axis_and_angle
Returns the axis and the angle of the
Rotation
.axis_angle_vector
Returns the axis-angle vector of the
Rotation
.basis_vectors
Returns the basis vectors of the
Rotation
.quaternion
Returns the Quaternion from the
Rotation
.Inherited Attributes
DATASCHEMA
The schema of the data of this object.
JSONSCHEMA
The schema of the JSON representation of the data of this object.
JSONSCHEMANAME
data
Return a
Transformation
object's to a data dict.determinant
The determinant of the matrix of the transformation.
dtype
The type of the object in the form of a '2-level' import and a class name.
guid
The globally unique identifier of the object.
jsondefinitions
Reusable schema definitions.
jsonstring
The representation of the object data in JSON format.
jsonvalidator
JSON schema validator for draft 7.
list
Flattens the 4x4 transformation matrix into a list of 16 numbers.
name
The name of the object.
projection
The projection component of the transformation matrix.
rotation
The rotation component of the transformation matrix.
scale
The scale component of the transformation matrix.
shear
The shear component of the transformation matrix.
translation
The translation component of the transformation matrix.
translation_vector
Methods
Returns Euler angles from the
Rotation
according to specified axis sequence and rotation type.Calculates a
Rotation
from a rotation axis and an angle and an optional point of rotation.Calculates a
Rotation
from an axis-angle vector.Creates a
Rotation
from basis vectors (= orthonormal vectors).Calculates a
Rotation
from Euler angles.Computes the rotational transformation from world XY to frame.
Calculates a
Rotation
from quaternion coefficients.Inherited Methods
Concatenate another transformation to this transformation.
Concatenate two transformations into one
Transformation
.Returns a copy of the transformation.
Decompose the
Transformation
into itsScale
,Shear
,Rotation
,Translation
andProjection
components.Computes a change of basis transformation between two frames.
Creates a
Transformation
from a data dict.Computes a transformation between two frames.
Construct an object from serialized data contained in a JSON file.
Construct an object from serialized data contained in a JSON string.
Creates a
Transformation
from a list of 16 numbers.Creates a
Transformation
from a 4x4 matrix-like object.Returns the inverse transformation.
Invert this transformation.
Returns the inverse transformation.
Convert a
Transformation
object to a data dict.Serialize the data representation of an object to a JSON file.
Serialize the data representation of an object to a JSON string.
Transpose the matrix of this transformation.
Create a transposed copy of this transformation.
Validate the object's data against its data schema (self.DATASCHEMA).
Validate the object's data against its json schema (self.JSONSCHEMA).