Bezier

class compas.geometry.Bezier(points)[source]

Bases: compas.geometry.primitives._primitive.Primitive

A Bezier curve.

A Bezier curve of degree n is a linear combination of n + 1 Bernstein basis polynomials of degree n.

Parameters

points (sequence) – A sequence of control points, represented by their location in 3D space.

Attributes
  • data (dict) – The dictionary representation of the curve.

  • points (list of compas.geometry.Point) – The control points of the curve.

  • degree (int, read-only) – The curve degree.

Examples

>>> curve = Bezier([[0.0, 0.0, 0.0], [0.5, 1.0, 0.0], [1.0, 0.0, 0.0]])
>>> curve.degree
2

Methods

copy([cls])

Make an independent copy of the data object.

from_data(data)

Construct a curve from its data representation.

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.

locus([resolution])

Compute the locus of all points on the curve.

point(t)

Compute a point on the curve.

tangent(t)

Compute the tangent vector at a point on the curve.

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.

transform(transformation)

Transform the primitive.

transformed(transformation)

Returns a transformed copy of this primitive.

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).