Skip to content

0.2.0

Compare
Choose a tag to compare
@dhermes dhermes released this 14 Dec 21:44
· 1752 commits to main since this release

PyPI: https://pypi.org/project/bezier/0.2.0/
Docs: http://bezier.readthedocs.io/en/0.2.0/

  • Primary feature: Surface.intersect() added
  • To support intersection, needed CurvedPolygon, i.e. an object defined only by its curved sides (whereas a Surface may have interior control points)
  • Curve.specialize for chopping a Curve at arbitrary parameter values (this is also used in surface-surface intersection)
  • Added images to most documented functions and methods to illustrate the concept at hand. For example
    classify_intersection has seven images to enumerate all of the possible cases covered in the algorithm.
  • Added Surface.locate(), made possible by newton_refine
  • Added Algorithm Helpers doc to try to explain some of the core algorithms at work (not all are documented yet). Some of this content was previously documented in the bezier.curve module, but was moved. Since, documentation has been added for get_curvature, newton_refine (for surfaces), classify_intersection (to determine how two curves interact while intersecting) and for some helper classes.
  • Added Surface.base_x, Surface.base_y and Surface.width properties to allow tracking a sub-surface during the subdivision process (this is an analogue to the Curve.start and Curve.end properties)
  • Added Curve.edge_index, Curve.next_edge and Curve.previous_edge properties to allow tracking when curves are actually the sides of a Surface