Polyline
- class compas.geometry.Polyline(points, **kwargs)[source]
Bases:
Primitive
A polyline is defined by a sequence of points connected by line segments.
- Parameters
points (list[[float, float, float] |
Point
]) – An ordered list of points. Each consecutive pair of points forms a segment of the polyline.- Attributes
Notes
A polyline is a piecewise linear element. It does not have an interior. It can be open or closed. It can be self-intersecting.
Examples
>>> polyline = Polyline([[0,0,0], [1,0,0], [2,0,0], [3,0,0]]) >>> polyline.length 3.0
>>> type(polyline.points[0]) == Point True >>> polyline.points[0].x 0.0
>>> type(polyline.lines[0]) == Line True >>> polyline.lines[0].length 1.0
Methods
Divide a polyline in equal segments.
Splits a polyline in segments of a given length.
Divide a polyline in equal segments.
Splits a polyline in segments of a given length.
Extends a polyline by a given length, by modifying the first and/or last point tangentially.
Returns a copy of this polyline extended by a given length.
Construct a polyline from a data dict.
Determine if the polyline is closed.
Determine if the polyline is self-intersecting.
Point on the polyline at a specific normalized parameter.
Shortens a polyline by a given length.
Returns a copy of this polyline shortened by a given length.
Splits a polyline at corners larger than the given angle_threshold
Calculates the tangent vector of a point on a polyline
Calculates the tangent vector of a point on a polyline
Transform this polyline.
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.