This module provides a simple multi-dimensional spline class while offering most basic functionality to fit a spline to point sets.
#include <unsupported/Eigen/Splines>
class | Eigen::Spline< _Scalar, _Dim, _Degree > |
A class representing multi-dimensional spline curves. More... |
|
struct | Eigen::SplineFitting< SplineType > |
Spline fitting methods. More... |
|
struct | Eigen::SplineTraits< Spline< _Scalar, _Dim, _Degree >, _DerivativeOrder > |
Compile-time attributes of the Spline class for fixed degree. More... |
|
struct | Eigen::SplineTraits< Spline< _Scalar, _Dim, _Degree >, Dynamic > |
Compile-time attributes of the Spline class for Dynamic degree. More... |
|
template<typename PointArrayType , typename KnotVectorType > | |
void | Eigen::ChordLengths (const PointArrayType &pts, KnotVectorType &chord_lengths) |
Computes chord length parameters which are required for spline interpolation. More... |
|
template<typename KnotVectorType > | |
void | Eigen::KnotAveraging (const KnotVectorType ¶meters, DenseIndex degree, KnotVectorType &knots) |
Computes knot averages. More... |
|
template<typename KnotVectorType , typename ParameterVectorType , typename IndexArray > | |
void | Eigen::KnotAveragingWithDerivatives (const ParameterVectorType ¶meters, const unsigned int degree, const IndexArray &derivativeIndices, KnotVectorType &knots) |
Computes knot averages when derivative constraints are present. Note that this is a technical interpretation of the referenced article since the algorithm contained therein is incorrect as written. More... |
|
void Eigen::ChordLengths | ( | const PointArrayType & | pts, |
KnotVectorType & | chord_lengths | ||
) |
Computes chord length parameters which are required for spline interpolation.
[in] | pts | The data points to which a spline should be fit. |
[out] | chord_lengths | The resulting chord length vector. |
void Eigen::KnotAveraging | ( | const KnotVectorType & | parameters, |
DenseIndex | degree, | ||
KnotVectorType & | knots | ||
) |
Computes knot averages.
The knots are computed as
\begin{align*} u_0 & = \hdots = u_p = 0 \\ u_{m-p} & = \hdots = u_{m} = 1 \\ u_{j+p} & = \frac{1}{p}\sum_{i=j}^{j+p-1}\bar{u}_i \quad\quad j=1,\hdots,n-p \end{align*}
where \(p\) is the degree and \(m+1\) the number knots of the desired interpolating spline.
[in] | parameters | The input parameters. During interpolation one for each data point. |
[in] | degree | The spline degree which is used during the interpolation. |
[out] | knots | The output knot vector. |
void Eigen::KnotAveragingWithDerivatives | ( | const ParameterVectorType & | parameters, |
const unsigned int | degree, | ||
const IndexArray & | derivativeIndices, | ||
KnotVectorType & | knots | ||
) |
Computes knot averages when derivative constraints are present. Note that this is a technical interpretation of the referenced article since the algorithm contained therein is incorrect as written.
[in] | parameters | The parameters at which the interpolation B-Spline will intersect the given interpolation points. The parameters are assumed to be a non-decreasing sequence. |
[in] | degree | The degree of the interpolating B-Spline. This must be greater than zero. |
[in] | derivativeIndices | The indices corresponding to parameters at which there are derivative constraints. The indices are assumed to be a non-decreasing sequence. |
[out] | knots | The calculated knot vector. These will be returned as a non-decreasing sequence |
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/unsupported/group__Splines__Module.html