Frame
- class compas.geometry.Frame(point, xaxis, yaxis, **kwargs)[source]
Bases:
compas.geometry.primitives._primitive.Primitive
A frame is defined by a base point and two orthonormal base vectors.
- Parameters
point (point) – The origin of the frame.
xaxis (vector) – The x-axis of the frame.
yaxis (vector) – The y-axis of the frame.
- Attributes
data (dict) – The data representation of the frame.
point (
compas.geometry.Point
) – The base point of the frame.xaxis (
compas.geometry.Vector
) – The local X axis of the frame.yaxis (
compas.geometry.Vector
) – The local Y axis of the frame.zaxis (
compas.geometry.Vector
) – The local Z axis of the frame.normal (
compas.geometry.Vector
) – The normal vector of the base plane of the frame.quaternion (
compas.geometry.Quaternion
) – The quaternion representing the rotation of the frame.axis_angle_vector (
compas.geometry.Vector
) – The rotation vector of the frame.
Notes
All input vectors are orthonormalized when creating a frame, with the first vector as starting point.
Examples
>>> from compas.geometry import Point >>> from compas.geometry import Vector >>> f = Frame([0, 0, 0], [1, 0, 0], [0, 1, 0]) >>> f = Frame(Point(0, 0, 0), Vector(1, 0, 0), Vector(0, 1, 0))
Methods
copy
([cls])Make an independent copy of the data object.
euler_angles
([static, axes])The Euler angles from the rotation given by the frame.
from_axis_angle_vector
(axis_angle_vector[, ...])Construct a frame from an axis-angle vector representing the rotation.
from_data
(data)Construct a frame from its data representation.
from_euler_angles
(euler_angles[, static, ...])Construct a frame from a rotation represented by Euler angles.
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
(values)Construct a frame from a list of 12 or 16 float values.
from_matrix
(matrix)Construct a frame from a matrix.
from_plane
(plane)Constructs a frame from a plane.
from_points
(point, point_xaxis, point_xyplane)Constructs a frame from 3 points.
from_quaternion
(quaternion[, point])Construct a frame from a rotation represented by quaternion coefficients.
from_rotation
(rotation[, point])Constructs a frame from a
Rotation
.from_transformation
(transformation)Constructs a frame from a
Transformation
.local_to_local_coordinates
(frame1, frame2, ...)Returns the object's coordinates in frame1 in the local coordinates of frame2.
to_data
()Convert an object to its native data representation.
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.
to_local_coordinates
(object_in_wcf)Returns the object's coordinates in the local coordinate system of the frame.
to_world_coordinates
(object_in_lcf)Returns the object's coordinates in the global coordinate frame.
transform
(T)Transform the frame.
transformed
(transformation)Returns a transformed copy of this geometry.
Validate the object's data against its data schema (self.DATASCHEMA).
Validate the object's data against its json schema (self.JSONSCHEMA).
worldXY
()Construct the world XY frame.
worldYZ
()Construct the world YZ frame.
worldZX
()Construct the world ZX frame.