A Bezier curve class supporting linear, quadratic and cubic Bezier curves, using an arbitrary point class.
Example uses would be for 2-dimensional Bezier curves whose
coordinates are [f64; 2]
, or for 3-dimensional Bezier curves using
coordinates of [f32; 3]
.
The Bezier curve supports bisection, and then splitting into straight
lines within a given straightness
bound; iterators are provided to
automatically trace a Bezier as lines or points within such a
straightness, for rendering puroses.
The Bezier type also supports rounding of corners and circular arc generation, utilizing a very accurate function for any angle of rounding up to 180 degrees, derived from a curve-fit from experimental data, rather than an explicit mathematical function for the control point generation (the standard analytical approach).
This crate is in beta; it is used in a small number of applications, and the functionality is mature; the API is stable, but may be enhanced.
Add this to your Cargo.toml
:
[dependencies]
bezier-nd = "0.5"
Release notes are available in RELEASES.md.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.