Fast and lightweight class for using the Bezier curves of any order in C++
Some algorithm implementations are based on A Primer on Bezier Curves by Pomax
- Any number of control points
- Fast operations on curves
- Dynamic manipulation
- Composite Bezier curves (polycurves)
CMake find_package() compatible!
find_package(Bezier)
target_link_libraries(target bezier)
- Get value, derivative, curvature, tangent and normal for a parameter t
- Point projection onto curve
- Get curve length, parameter iteration by length
- Get a derivative curve (hodograph)
- Split into subcurves
- Find curve roots, extrema and bounding box
- Find points of intersection
- Elevate/lower order
- Apply parametric and geometric continuities
- etc.
- Polycurve - oversee continuities between consecutive sub-curves
- Polycurve - propagation of sub-curve manipulation depending on continutiy
- Bezier shapes
- More sophisticated example
- Eigen3.3
git clone https://github.com/romb-technologies/Bezier
mkdir Bezier/build
cd Bezier/build
cmake ..
make
make install
- for use within a ROS workspace without the system-wide installation, clone the repo to src folder in you catkin workspace
A small Qt5 based program written as a playground for manipulating Bezier curves.
- press H for a list of possible actions
- outdated - newer features are not used in the example application
- qt5-default
Apache License Version 2.0
The development of this software was in part supported by the European Cohesion Fund, through grant number KK.03.2.2.04.314 "Software modules for advanced autonomous motion of load-transportation vehicles (Soft4AGV)" of the "Innovations of newly established SMEs - phase 2" open call.