This library provides a C++ implementation of the G2 Splines (Quintic splines).These splines are 2D parametric cuves defined by independant x and y 5th order polynomials in therms of the parameter *u*, in the range [0,length]. The curve can be completelly defined by fixing the initial and final states as well as a set of internal parameters (n1,n2,n3,n4). The state of a G2 splines is defined as
This library provides a C++ implementation of the G2 Splines (Quintic splines).These splines are 2D parametric curves defined by independant _x_ and _y_ 5th order polynomials in therms of the parameter *u*, in the range [0,length]. The curve can be completelly defined by fixing the initial and final states as well as a set of internal parameters (n1,n2,n3,n4). The state of a G2 splines is defined as
* 2D position (x,y)
* Heading
...
...
@@ -17,10 +17,10 @@ These type of splines have several interesting properties that make them suitabl
The main features of this library are:
* The start and ending states can be defined by the user (*set_start_point()* and *set_end_point()*) and modified at any time. When these states are set or modified, the spline has to be re-generated.
* To reduce the computational cost, the spline is only generated when necesary or when the *generate()* function is explicitly called. The resolution can be selected by the user.
* Provides functions to evaluate the spline (get the state information) at any a single point or at all points.
* It uses the [gradient library](docs/gradient.md) to compute the maximum curvature and maximum curvature derivative (*get_max_curvature()* and *get_max_curvature_der()*).
* It also uses the [gradient library](docs/gradient.md) to find the closest point on the curve to a given point. These functions always return the distance of the closest point from the start of the spline, and, optionally, the state of this point.
* To reduce the computational cost, the spline is only generated when necessary or when the *generate()* function is explicitly called. The resolution can be selected by the user.
* Provides functions to evaluate the spline (get the state information) at any single point or at all points.
* It uses the [gradient library](gradient.md) to compute the maximum curvature and maximum curvature derivative (*get_max_curvature()* and *get_max_curvature_der()*).
* It also uses the [gradient library](gradient.md) to find the closest point on the curve to a given point. These functions always return the distance of the closest point from the start of the spline, and, optionally, the state of this point.
* Provides a function to get a new spline which is a part of the original one (*get_part()*).
The functions that use the gradinet descent algorithm can set the maximum error (*max_error*) and maximum number of iterations (*max_iter*). If not set, the default values are used: