Skip to content

Releases: dhermes/bezier

0.2.0

14 Dec 21:44
Compare
Choose a tag to compare

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

0.1.1

29 Nov 17:45
Compare
Choose a tag to compare

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

Changes:

  • Adding Curve.elevate() for degree elevation
  • Upgrading curve-curve intersection algorithm to ignore parallel line segments that don't meet (rather than throwing NotImplementedError)
  • Making segment_intersection() return a success bool instead of raising NotImplementedError on failure
  • Updating docs for newton_refine() with two examples and making parallel_different() a publicly documented function (as a partner to segment_intersection())
  • Adding some more examples / failures to curve-curve-intersection doc

0.1.0

26 Nov 06:43
Compare
Choose a tag to compare

Second Release: https://pypi.org/project/bezier/0.1.0/
Docs: http://bezier.readthedocs.io/en/0.1.0/

Primary changes since previous release (0.0.1) are related to curve-curve intersection. See the intersection docs for examples and more information.