Scale
-
class
compas.geometry.Scale(matrix=None)[source] Bases:
compas.geometry.transformations.transformation.TransformationCreates a scale transformation.
- Parameters
matrix (4x4 matrix-like, optional) – A 4x4 matrix (or similar) representing a scaling.
- Raises
ValueError – If the default constructor is used, and the provided transformation matrix is not a scale matrix.
Examples
>>> S = Scale.from_factors([1, 2, 3]) >>> S[0, 0] == 1 True >>> S[1, 1] == 2 True >>> S[2, 2] == 3 True>>> point = Point(2, 5, 0) >>> frame = Frame(point, (1, 0, 0), (0, 1, 0)) >>> points = [point, Point(2, 10, 0)] >>> S = Scale.from_factors([2.] * 3, frame) >>> [p.transformed(S) for p in points] [Point(2.000, 5.000, 0.000), Point(2.000, 15.000, 0.000)]Methods
__init__([matrix])Construct a transformation from a 4x4 transformation matrix.
concatenate(other)Concatenate another transformation to this transformation.
concatenated(other)Concatenate two transformations into one
Transformation.copy()Returns a copy of the transformation.
Decompose the
Transformationinto itsScale,Shear,Rotation,TranslationandProjectioncomponents.from_change_of_basis(frame_from, frame_to)Computes a change of basis transformation between two frames.
from_data(data)Creates a
Transformationfrom a data dict.from_euler_angles(euler_angles[, static, …])Construct a transformation from a rotation represented by Euler angles.
from_factors(factors[, frame])Construct a scale transformation from scale factors.
from_frame(frame)Computes a transformation from world XY to frame.
from_frame_to_frame(frame_from, frame_to)Computes a transformation between two frames.
from_list(numbers)Creates a
Transformationfrom a list of 16 numbers.from_matrix(matrix)Creates a
Transformationfrom a 4x4 matrix-like object.inverse()Returns the inverse transformation.
invert()Invert this transformation.
inverted()Returns the inverse transformation.
to_data()Convert a
Transformationobject to a data dict.Transpose the matrix of this transformation.
Create a transposed copy of this transformation.