曲线节点插入

文章讨论了在B样条曲线上插入节点时,如何通过调整节点矢量来增加控制点,保持曲线几何和参数不变,以及如何计算新插入节点后的新控制点,以三次B样条为例给出具体步骤。
摘要由CSDN通过智能技术生成

曲线节点插入,会增加控制点数,原理是顺序将单个节点值拆入到定义的节点矢量中。比如:一条定义在原始节点矢量 T=\begin{bmatrix} t_{0},t_{1},...,t_{n+k+1} \end{bmatrix} 上的k次B样条曲线为:

设 t\subset \begin{bmatrix} t_{i}, t_{i+1} \end{bmatrix} , 将t插入 T 中,形成新的节点矢量:
T= \begin{bmatrix} t_{0}, t_{1}, t_{2},...,t_{n+k+1} \end{bmatrix} 重新编号为 \bar{T} = \begin{bmatrix} \bar{ t}_{0}, \bar{t}_{1},..., \bar{t}_{i},\bar{t}_{i+1}, \bar{t}_{i+2},...,\bar{t}_{n+k+2} \end{bmatrix}
这个新的节点矢量 \overline{T} 决定了一组新的B样条基函数 \overline{F}_{j,k}(t), j=0,1,...,n+1 因此,原始的B样条曲线 p(t)  就可用这组新的B样条基函数和未知新控制点 \overline{P}_{j}(t), j=0,1,...,n+1 

通常将确定  \bar{P}_{i}  的过程为“节点插入”。节点插入实质是改变了节点矢量,导致增加了一个新的控制点,而曲线在几何和参数方面均不发生改变。新控制点的计算公式:

式中,

式中,i 为节点插入原节点区间的左端节点的下标序号,r表示所插节点t在原节点矢量 T
中的重复度。
计算插入后的新的控制点,
例题:对于三次B样条曲线,原控制点为 
P_{0}(-300, -80), P_{1}(-200, -20), P_{2}(-100, -160), P_{3}(170, -160), P_{4}(250, 0), P_{5}(150, 160), P_{6}(-80, 160), P_{7}(-160, 40)
原节点矢量为 
T=[ t_{0}=0,t_{1}=0,t_{2}=0,t_{3}=0,t_{4}=0.2,t_{5}=0.4,t_{6}=0.6,t_{7}=0.8,t_{8}=1,t_{9}=1,t_{10}=1,t_{11}=1 ]
现在插入节点 t=0.5 。在保持曲线形状不变的情况下,试计算插入节点后的新控制点。
由题意知:
t=0.5, t\in [t_{5}, t_{6}]=[0.4, 0.6] , 则 i=5, 因为 k=3, r=0, n=7, 所以 i-k=2, i-r+1=6, n+1=8。根据新插入控制点的计算公式有:

以上、新的控制点计算完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值