Scale

class compas.geometry.Scale[source]

Bases: Transformation

Class representing a scale transformation.

Parameters:
matrixlist[list[float]], optional

A 4x4 matrix (or similar) representing a scaling.

checkbool, optional

If True, the provided matrix will be checked for validity.

namestr, optional

The name of the transformation.

Raises:
ValueError

If check is True 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
>>> from compas.geometry import Point, Frame
>>> 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.0] * 3, frame)
>>> points = [p.transformed(S) for p in points]
>>> print(points)
[Point(x=2.000, y=5.000, z=0.000), Point(x=2.000, y=15.000, z=0.000)]

Methods

from_factors

Construct a scale transformation from scale factors.

Inherited Methods

ToString

Converts the instance to a string.

concatenate

Concatenate another transformation to this transformation.

concatenated

Concatenate two transformations into one Transformation.

copy

Returns a copy of the transformation.

decomposed

Decompose the Transformation into its components.

from_change_of_basis

Construct a change of basis transformation between two frames.

from_euler_angles

Construct a transformation from a rotation represented by Euler angles.

from_frame

Construct a transformation from world XY to frame.

from_frame_to_frame

Construct a transformation between two frames.

from_json

Construct an object of this type from a JSON file.

from_jsonstring

Construct an object of this type from a JSON string.

from_list

Creates a transformation from a list of 16 numbers.

from_matrix

Creates a transformation from a list[list[float]] object.

inverse

Returns the inverse transformation.

invert

Invert this transformation.

inverted

Returns the inverse transformation.

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

to_json

Convert an object to its native data representation and save it to a JSON file.

to_jsonstring

Convert an object to its native data representation and save it to a JSON string.

transpose

Transpose the matrix of this transformation.

transposed

Create a transposed copy of this transformation.

validate_data

Validate the data against the object's data schema.