63 [[nodiscard]]
int degree()
const {
return degree_; }
69 [[nodiscard]] std::pair<double, double>
domain()
const;
75 [[nodiscard]]
const std::vector<Point3D>&
control_points()
const {
return cp_; }
81 [[nodiscard]]
const std::vector<double>&
knots()
const {
return knots_; }
117 std::vector<Point3D> cp_;
118 std::vector<double> knots_;
std::pair< double, double > domain() const
参数定义域
const std::vector< Point3D > & control_points() const
控制点访问
std::vector< double > basis_functions(double t, int span=-1) const
在 t 处求非零基函数值
Vector3D derivative(double t, int order=1) const
在参数 t 处求导数
Point3D evaluate(double t) const
在参数 t 处求值曲线点
std::vector< double > basis_derivatives(double t, int span=-1) const
在 t 处求非零基函数的一阶导数
BSplineCurve(std::vector< Point3D > control_points, std::vector< double > knots, int degree)
构造 B 样条曲线
const std::vector< double > & knots() const
节点向量访问
int find_span(double t) const
查找 t 所在的节点区间
foundation::Vector3D Vector3D
双精度三维向量(重新导出)
foundation::Point3D Point3D
双精度三维点(重新导出)