template<typename T>
class drake::math::BsplineBasis< T >
Given a set of non-descending breakpoints t₀ ≤ t₁ ≤ ⋅⋅⋅ ≤ tₘ, a B-spline basis of order k is a set of n + 1 (where n = m - k) piecewise polynomials of degree k - 1 defined over those breakpoints.
The elements of this set are called "B-splines". The vector (t₀, t₁, ..., tₘ)' is referred to as the "knot vector" of the basis and its elements are referred to as "knots".
At a breakpoint with multiplicity p (i.e. a breakpoint that appears p times in the knot vector), B-splines are guaranteed to have Cᵏ⁻ᵖ⁻¹ continuity.
A B-spline curve using a B-spline basis B, is a parametric curve mapping parameter values in [tₖ₋₁, tₙ₊₁] to a vector space V. For t ∈ [tₖ₋₁, tₙ₊₁] the value of the curve is given by the linear combination of n + 1 control points, pᵢ ∈ V, with the elements of B evaluated at t.
For more information on B-splines and their uses, see (for example) Patrikalakis et al. [1].
[1] https://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/node15.html
|
| | BsplineBasis () |
| |
| | BsplineBasis (int order, std::vector< T > knots) |
| | Constructs a B-spline basis with the specified order and knots. More...
|
| |
| | BsplineBasis (int order, int num_basis_functions, KnotVectorType type=KnotVectorType::kClampedUniform, const T &initial_parameter_value=0, const T &final_parameter_value=1) |
| | Constructs a B-spline basis with the specified order, num_basis_functions, initial_parameter_value, final_parameter_value, and an auto-generated knot vector of the specified type. More...
|
| |
| | BsplineBasis (const BsplineBasis< double > &other) |
| | Conversion constructor. More...
|
| |
| int | order () const |
| | The order of this B-spline basis (k in the class description). More...
|
| |
| int | degree () const |
| | The degree of the piecewise polynomials comprising this B-spline basis (k - 1 in the class description). More...
|
| |
| int | num_basis_functions () const |
| | The number of basis functions in this B-spline basis (n + 1 in the class description). More...
|
| |
| const std::vector< T > & | knots () const |
| | The knot vector of this B-spline basis (the vector (t₀, t₁, ..., tₘ)' in the class description). More...
|
| |
| const T & | initial_parameter_value () const |
| | The minimum allowable parameter value for B-spline curves using this basis (tₖ₋₁ in the class description). More...
|
| |
| const T & | final_parameter_value () const |
| | The maximum allowable parameter value for B-spline curves using this basis (tₙ₊₁ in the class description). More...
|
| |
| int | FindContainingInterval (const T ¶meter_value) const |
| | For a parameter_value = t, the interval that contains it is the pair of knot values [tᵢ, tᵢ₊₁] for the greatest i such that tᵢ ≤ t and tᵢ < final_parameter_value(). More...
|
| |
| std::vector< int > | ComputeActiveBasisFunctionIndices (const std::array< T, 2 > ¶meter_interval) const |
| | Returns the indices of the basis functions which may evaluate to non-zero values for some parameter value in parameter_interval; all other basis functions are strictly zero over parameter_interval. More...
|
| |
| std::vector< int > | ComputeActiveBasisFunctionIndices (const T ¶meter_value) const |
| | Returns the indices of the basis functions which may evaluate to non-zero values for parameter_value; all other basis functions are strictly zero at this point. More...
|
| |
| template<typename T_control_point > |
| T_control_point | EvaluateCurve (const std::vector< T_control_point > &control_points, const T ¶meter_value) const |
| | Evaluates the B-spline curve defined by this and control_points at the given parameter_value. More...
|
| |
| VectorX< T > | EvaluateLinearInControlPoints (const T ¶meter_value) const |
| | Returns the vector, M, such that. More...
|
| |
| T | EvaluateBasisFunctionI (int i, const T ¶meter_value) const |
| | Returns the value of the i-th basis function evaluated at parameter_value. More...
|
| |
| boolean< T > | operator== (const BsplineBasis &other) const |
| |
| boolean< T > | operator!= (const BsplineBasis &other) const |
| |
| template<typename Archive > |
| void | Serialize (Archive *a) |
| | Passes this object to an Archive. More...
|
| |
|
| | BsplineBasis (const BsplineBasis &)=default |
| |
| BsplineBasis & | operator= (const BsplineBasis &)=default |
| |
| | BsplineBasis (BsplineBasis &&)=default |
| |
| BsplineBasis & | operator= (BsplineBasis &&)=default |
| |