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...
|
|
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 |
|