B样条曲线 及 B样条曲面

B样条曲线

在保留Bézie优点的同时,克服了他的弱点:采用样条——分段连续多项式

例如,现在有n+1个点,在每两点之间构造一条多项式,则有n个小区间。每个小区间构造一条三次多项式,变成了n段的三次多项式拼接在一起,段与段之间要C²连续,这就是三次样条

定义

P ( t ) = ∑ i = 0 n P i N i , k ( t ) P(t)=\sum_{i=0}^{n}P_{i}N_{i,k}(t) P(t)=i=0nPiNi,k(t)

其中,Pi是控制点, N i , k ( t ) N_{i,k}(t) Ni,k(t)是调和函数,被称为k阶(k-1次)B样条基函数
 B样条基函数是一个称为节点矢量的非递减的参数t的序列所决定的k阶分段多项式,也即为k阶(k-1次)多项式样条。

在这里插入图片描述

类型的划分

曲线按其端点是否重合,分为闭曲线和开曲线

B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型:

  1. 均匀B样条曲线
    节点矢量中节点为沿参数轴均匀或等距分布,所有节点区间长度为常数。这样的节点矢量定义了均匀的B样条基。

  2. 准均匀B样条曲线
    与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。均匀B样条曲线没有保留Bézier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线解决了这个问题

  3. 分段Bézier曲线
    节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。
    B样条曲线用分段Bézier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bézier曲线一整套简单有效的算法都可以原封不动地采用。缺点是增加了定义曲线的数据,控制顶点数及节点数。

  4. 非均匀B样条曲线
    任意分布的节点矢量,只要在数学上成立(节点序列非递减,两端节点重复度≤k,内节点重复度≤k-1)都可选取。这样的节点矢量定义了非均匀B样条基

B样条曲线的性质

  1. 局部性:k阶B样条曲线上参数为 t ∈ [ t i , t i + 1 ] t\in[t_{i},t_{i+1}] t[ti,ti+1] 的一点至多与k个控制顶点 P j ( j = i − k + 1 , . . . , i ) P_{j}(j=i-k+1,...,i) Pj(j=ik+1,...,i) 有关,与其他控制顶点无关;移动该曲线的第i个控制顶点Pi至多影响到定义在区间 ( t i , t i + k ) (t_{i},t_{i+k}) (ti,ti+k) 上那部分曲线的形状,对曲线的其余部分不发生影响。
  2. 连续性:P(t)在r重节点处的连续阶不低于 k − 1 − r k-1-r k1r,整条曲线上的连续性不低于 k − 1 − r m a x k-1-r_{max} k1rmax
  3. 凸包性:P(t)在区间 ( t i , t i + 1 ) , k − 1 ≤ i ≤ n (t_{i},t_{i+1}), k-1≤i≤n (ti,ti+1),k1in 上的部分位于k个点 P i − k + 1 , . . . , P i P_{i-k+1},...,P_{i} Pik+1,...,Pi 的凸包 C i C_{i} Ci内,整条曲线则位于各凸包 C i C_{i} Ci的并集之内。这个性质被称为强凸包性。
  4. 分段参数多项式:P(t)在每一区间上都是次数不高于k-1的参数t的多项式
  5. 导数公式
    P ′ ( t ) = ( ∑ i = 0 n P i N i , k ( t ) ) ′ = ∑ i = 0 n P i N i , k ′ ( t ) P'(t)=\left ( \sum_{i=0}^{n}P_{i}N_{i,k}(t) \right )'=\sum_{i=0}^{n}P_{i}N_{i,k}'(t) P(t)=(i=0nPiNi,k(t))=i=0nPiNi,k(t)

    = ( k − 1 ) ∑ i = 1 n ( P i − P i − 1 t i + k − 1 − t i ) N i , k − 1 ( t ) , t ∈ [ t k − 1 , t n + 1 ] =(k-1)\sum_{i=1}^{n}\left ( \frac{P_{i}-P_{i-1}}{t_{i+k-1}-t_{i}} \right )N_{i,k-1}(t), t \in[t_{k-1},t_{n+1}] =(k1)i=1n(ti+k1tiPiPi1)Ni,k1(t),t[tk1,tn+1]
  6. 变差缩减性:设平面内n+1个控制顶点构成B样条曲线P(t)的特征多边形。在该平面内的任意一条直线与P(t)的交点个数不多于该直线和特征多边形的交点个数
  7. 几何不变性:B样条曲线的形状和位置与坐标系的选择无关
  8. 仿射不变性:在仿射变化下,表达式具有形式不变性
    A [ P ( t ) ] = ∑ i = 0 n A [ p i ] N i , k ( t ) A[P(t)]=\sum_{i=0}^{n}A[p_{i}]N_{i,k}(t) A[P(t)]=i=0nA[pi]Ni,k(t), t ∈ [ t k − 1 , t n + 1 ] t\in[t_{k-1},t_{n+1}] t[tk1,tn+1]
  9. 直线保持性:控制多边形退化为一条直线时,曲线也退化为一条直线
  10. 造型的灵活性:用B样条曲线可以构造直线段、尖点、切线等特殊情况

在这里插入图片描述

3.4.7 B样条曲面

给定参数轴u和v的节点矢量 U = [ u 0 , u 1 , . . . , u m + p ] U=[u_{0},u_{1},...,u_{m+p}] U=[u0,u1,...,um+p] V = [ v 0 , v 1 , . . . , v n + q ] V=[v_{0}, v_{1}, ..., v_{n+q}] V=[v0,v1,...,vn+q], p×q阶B样条曲面定义如下:

P ( u , v ) = ∑ i = 0 m ∑ j = 0 n P i j N i , p ( u ) N j , q ( v ) P(u,v)=\sum_{i=0}^{m}\sum_{j=0}^{n}P_{ij}N_{i,p}(u)N_{j,q}(v) P(u,v)=i=0mj=0nPijNi,p(u)Nj,q(v)

其中, P i , j P_{i,j} Pi,j构成一张控制网络,称为B样条曲线的特征网络

N i , p ( u ) N_{i,p}(u) Ni,p(u) N j , q ( v ) N_{j,q}(v) Nj,q(v) 是B样条基,分别用节点矢量U和V按照deBoor-Cox递推公式决定

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值