# 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)
>>> [p.transformed(S) for p in points]
[Point(2.000, 5.000, 0.000), Point(2.000, 15.000, 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.