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

Attributes

data

The data dictionary that represents the curve.

degree

The degree of the curve.

points

The control points.

Inherited Attributes

DATASCHEMA

The schema of the data of this object.

JSONSCHEMA

The schema of the JSON representation of the data of this object.

JSONSCHEMANAME

dtype

The type of the object in the form of a '2-level' import and a class name.

guid

The globally unique identifier of the object.

jsondefinitions

Reusable schema definitions.

jsonstring

The representation of the object data in JSON format.

jsonvalidator

JSON schema validator for draft 7.

name

The name of the object.

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.

Inherited Methods

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.

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.

transform

Transform the geometry.

transformed

Returns a transformed copy of this geometry.

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