11#ifndef BEMBEL_SRC_SPLINE_DEBOORTP_HPP_
12#define BEMBEL_SRC_SPLINE_DEBOORTP_HPP_
24 std::vector<double>
const &
knot,
30 temp.col(
i) = (polynomial_degree) /
31 (
knot[
i + polynomial_degree + 1] -
knot[
i + 1]) *
40std::vector<Eigen::Matrix<
T, -1, -1>>
DeBoorDer(
42 std::vector<double>
const &
knot,
58 (polynomial_degree) / (
knot[
i + polynomial_degree + 1] -
knot[
i + 1]);
70std::vector<Eigen::Matrix<
T, -1, -1>> deBoorDerGiveData(
72 std::vector<double>
const &
knot)
noexcept {
87 (polynomial_degree) / (
knot[
i + polynomial_degree + 1] -
knot[
i + 1]);
101 std::vector<double>
const &
knots_x, std::vector<double>
const &
knots_y,
104 Eigen::Matrix<
T, -1, -1>
tmp =
110std::vector<Eigen::Matrix<
T, -1, -1>>
DeBoorTP(
112 std::vector<double>
const &
knots_x, std::vector<double>
const &
knots_y,
115 std::vector<Eigen::Matrix<
T, -1, -1>>
tmp =
117 for (
int ll =
tmp.size() - 1;
ll >= 0;
ll--)
125Eigen::Matrix<
T, -1, -1> DeBoorTPDer(
127 std::vector<double>
const &
knots_x, std::vector<double>
const &
knots_y,
131 Eigen::Matrix<
T, -1, -1>
tmp =
140std::vector<Eigen::Matrix<
T, -1, -1>> DeBoorTPDer(
142 std::vector<double>
const &
knots_x, std::vector<double>
const &
knots_y,
146 std::vector<Eigen::Matrix<
T, -1, -1>>
tmp =
149 for (
int ll =
tmp.size() - 1;
ll >= 0;
ll--)
Eigen::Matrix< T, -1, -1 > DeBoorDer(Eigen::Matrix< T, -1, -1 > const &control_points, std::vector< double > const &knot, std::vector< double > const &evaluation_points) noexcept
A "by the book" implementation of the derivatives and TP-algos based on the DeBoor Recursion.
Eigen::Matrix< T, -1, -1 > DeBoor(Eigen::Matrix< T, -1, -1 > const &control_points, const std::vector< double > &knot_vector, const std::vector< double > &evaluation_points) noexcept
"By the book" implementations of the Cox-DeBoor formula. Inefficient, do not use at bottlenecks.
Eigen::Matrix< T, -1, -1 > DeBoorTP(Eigen::Matrix< T, -1, -1 > const &control_points, std::vector< double > const &knots_x, std::vector< double > const &knots_y, std::vector< double > const &evaluation_points_x, std::vector< double > const &evaluation_points_y) noexcept
Simple TP Bsplines.
Routines for the evalutation of pointwise errors.
constexpr int getFunctionSpaceOutputDimension()