什么是样条
样条 就是 分段低阶多项式来逼近多个点
假设我们有十个点 就需要用九次的多项式来逼近 九次多项式有十个未知数正好可以解一个方程组求出
分段的低阶多项式通过连续的连接来代替高阶多项式
什么是非均匀有理B样条
Non-Uniform(非均匀性):
是指一个控制顶点的影响力的范围能够改变。当创建一个不规则曲面的时候这一点非常有用。同样,统一的曲线和曲面在透视投影下也不是无变化的,对于交互的3D建模来说这是一个严重的缺陷。
Rational(有理):
是指每个NURBS物体都可以用有理多项式形式表达式来定义。
B-Spline(B样条):
是指用路线来构建一条曲线,在一个或更多的点之间以内插值替换的。
B样条曲线的数学表达式
B样条基函数 Bi,k(u)
k是k阶
i是第几个节点
u应该是表示节点
B样条基函数是一个称为节点矢量的非递减的参数u的序列所决定的k阶分段多项式 这个序列称为节点向量
所以这个节点向量是一个序列吗?
节点矢量和节点向量有什么区别
B样条基函数是一个节点向量决定的分段多项式
结点向量和控制顶点的关系
de Boor-Cos递推定义
原理
如果是k阶(k-1次)B样条基函数 构造一种递推公式
由0次构造1次 1次构造2次 2次构造3次这种
定义
从下面那个公式可以看出来 一个k阶的基函数是由两个低一阶的基函数构成 而当为1阶时 在ui-ui+1这个部分值就是1了
所以给我的感觉就是假设一个4阶的基函数就会不停的递归从4阶降到很多个一阶基函数 然后由这些一阶的就组成了4阶的基函数
Bi,k(u)的支撑区间
若确定第i个k阶B样条Bi,k(u)需要用到ui,ui+1,ui+k共k+1个节点 称[ui,ui+k]为Bi,k(u)的支撑区间
说白了就是这部分样条不为0的区间
B样条求出来的和贝赛尔曲线好像不一样 B样条求出来的好像是一个个节点向量 而贝赛尔曲线求出来的是一个个的点
动态图示