Helper for Bézier Curves, Triangles, and Higher Order Objects
Project description
Helper for Bézier Curves, Triangles, and Higher Order Objects
Install
$ pip install --upgrade bezier
Getting Started
For example, to create a curve:
>>> nodes1 = np.array([
... [0.0, 0.0],
... [0.5, 1.0],
... [1.0, 0.0],
... ])
>>> curve1 = bezier.Curve(nodes1)
The intersection (points) between two curves can also be determined:
>>> nodes2 = np.array([
... [0.0 , 0.0],
... [0.25, 2.0],
... [0.5 , -2.0],
... [0.75, 2.0],
... [1.0 , 0.0],
... ])
>>> curve2 = bezier.Curve(nodes2)
>>> intersections = curve1.intersect(curve2)
>>> intersections
array([[ 0.311..., 0.428...],
[ 0.688..., 0.428...],
[ 0. , 0. ],
[ 1. , 0. ]])
and then we can plot these curves (along with their intersections):
>>> import matplotlib.pyplot as plt
>>> import seaborn
>>>
>>> ax = curve1.plot(num_pts=256)
>>> curve2.plot(num_pts=256, ax=ax)
>>> ax.plot(intersections[:, 0], intersections[:, 1],
... marker='o', linestyle='None', color='black')
>>> ax.axis('scaled')
>>> ax.set_xlim(-0.125, 1.125)
>>> ax.set_ylim(-0.0625, 0.625)
>>> plt.show()
Development
To work on adding a feature or to run the functional tests, See the DEVELOPMENT doc for more information on how to get started.
License
Apache 2.0 - See the LICENSE for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bezier-0.2.0.tar.gz
(81.0 kB
view hashes)
Built Distribution
bezier-0.2.0-py2.py3-none-any.whl
(101.4 kB
view hashes)
Close
Hashes for bezier-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d86fe6d1b8c815bbc719314ff2ce483782e36ddc7d37c9b4bb796700e809fbbc |
|
MD5 | ce032cf5fe8493ace2cf42040807b170 |
|
BLAKE2b-256 | 702c5d9e254bb0fbb94eb853e5e8a6b83201c6043730c9107bec5991feca5cc1 |