Line
- class compas.geometry.Line(p1, p2, **kwargs)[source]
Bases:
Primitive
A line is defined by two points.
- Parameters
- Attributes
start (
Point
) – The start point of the line.end (
Point
) – The end point of the line.vector (
Vector
, read-only) – A vector pointing from start to end.length (float, read-only) – The length of the vector from start to end.
direction (
Vector
, read-only) – A unit vector pointing from start and end.midpoint (
Point
, read-only) – The midpoint between start and end.
Examples
>>> line = Line([0, 0, 0], [1, 1, 1]) >>> line Line(Point(0.000, 0.000, 0.000), Point(1.000, 1.000, 1.000)) >>> line.start Point(0.000, 0.000, 0.000) >>> line.midpoint Point(0.500, 0.500, 0.500) >>> line.length == math.sqrt(1 + 1 + 1) True >>> line.direction Vector(0.577, 0.577, 0.577)
Methods
Construct a frame from a data dict.
A point between start and end at a specific normalized parameter.
Transform this line.
Transform a collection of Line objects.
Create a collection of transformed Line objects.
Inherited Methods
Converts the instance to a string.
Make an independent copy of the data object.
Construct an object from serialized data contained in a JSON file.
Construct an object from serialized data contained in a JSON string.
Compute a hash of the data for comparison during version control using the sha256 algorithm.
Convert an object to its native data representation.
Serialize the data representation of an object to a JSON file.
Serialize the data representation of an object to a JSON string.
Returns a transformed copy of this geometry.
Validate the object's data against its data schema.
Validate the object's data against its json schema.