bezier package

Helper for Bézier Curves, Triangles, and Higher Order Objects.

Intended to perform basic operations on Bézier objects such as intersections, length / area / etc. computations, subdivision, implicitization and other relevant information.

Plotting utilities are also provided.

class bezier.UnsupportedDegree(degree, supported=())

Custom exception to indicate the given degree is unsupported.

This is intentionally a subclass of a NotImplementedError since it’s intended to indicate a lack of an implementation. For example, Curve.reduce_() uses hard-coded matrices for a small subset of possible degrees, so the implementation is degree-specific:

>>> degree = 5
>>> nodes = np.empty((2, degree + 1), order="F")
>>> curve = bezier.Curve(nodes, degree=degree)
>>> curve.reduce_()
Traceback (most recent call last):
  ...
bezier._py_helpers.UnsupportedDegree: The only degrees supported at this
                                      time are 1, 2, 3 and 4 (degree=5)
Parameters
  • degree (int) – The degree that is not possible to support.

  • supported (Tuple [ int, … ]) – The degrees that are actually supported by the failing method.

degree = None

The degree that the caller attempted to use.

Type

int

supported = None

The degrees supported by the failing method.

Type

Tuple [ int, … ]

class bezier.Surface(*args, **kwargs)

Legacy alias for Bézier Surface class.

This will be deprecated in a future release.

bezier.__version__ = '2020.2.3'

The current version of bezier.

Type

str