Projection

class compas.geometry.Projection(matrix=None)[source]

Bases: compas.geometry.transformations.transformation.Transformation

Create a projection transformation.

Parameters

matrix (4x4 matrix-like, optional) – A 4x4 matrix (or similar) representing a projection transformation.

Raises

ValueError – If the default constructor is used, and the provided transformation matrix is not a shear matrix.

Examples

>>>

Methods

concatenate(other)

Concatenate another transformation to this transformation.

concatenated(other)

Concatenate two transformations into one Transformation.

copy()

Returns a copy of the transformation.

decomposed()

Decompose the Transformation into its Scale, Shear, Rotation, Translation and Projection components.

from_change_of_basis(frame_from, frame_to)

Computes a change of basis transformation between two frames.

from_data(data)

Creates a Transformation from a data dict.

from_entries(perspective_entries)

Constructs a perspective transformation by the perspective entries of a matrix.

from_euler_angles(euler_angles[, static, ...])

Construct a transformation from a rotation represented by Euler angles.

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_json(filepath)

Construct an object from serialized data contained in a JSON file.

from_jsonstring(string)

Construct an object from serialized data contained in a JSON string.

from_list(numbers)

Creates a Transformation from a list of 16 numbers.

from_matrix(matrix)

Creates a Transformation from a 4x4 matrix-like object.

from_plane(plane)

Returns an orthogonal Projection to project onto a plane.

from_plane_and_direction(plane, direction)

Returns a parallel Projection to project onto a plane along a specific direction.

from_plane_and_point(plane, center_of_projection)

Returns a perspective Projection to project onto a plane along lines that emanate from a single point, called the center of projection.

inverse()

Returns the inverse transformation.

invert()

Invert this transformation.

inverted()

Returns the inverse transformation.

to_data()

Convert a Transformation object to a data dict.

to_json(filepath[, pretty])

Serialize the data representation of an object to a JSON file.

to_jsonstring([pretty])

Serialize the data representation of an object to a JSON string.

transpose()

Transpose the matrix of this transformation.

transposed()

Create a transposed copy of this transformation.

validate_data()

Validate the object's data against its data schema (self.DATASCHEMA).

validate_json()

Validate the object's data against its json schema (self.JSONSCHEMA).