Bezier

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

Bases: Primitive

A Bezier curve is defined by control points and a degree.

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

Parameters

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

Attributes
  • points (list[Point]) – The control points.

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

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

from_data

Construct a curve from its data representation.

locus

Compute the locus of all points on the curve.

point

Compute a point on the curve.

tangent

Compute the tangent vector at a point on the curve.

transform

Transform this curve.

Inherited Methods

ToString

Converts the instance to a string.

copy

Make an independent copy of the data object.

from_json

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

from_jsonstring

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

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

to_data

Convert an object to its native data representation.

to_json

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

to_jsonstring

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

transformed

Returns a transformed copy of this geometry.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.