B样条基函数的定义和性质
定义:令U={u0,u1,…,um}是一个单调不减的实数序列,即ui≤ui+1,i=0,1,…,m-1。其中,ui称为节点,U称为节点矢量,用Ni,p(u)表示第i个p次(p+1阶)B样条基函数,其定义为
由此可知:
(1)Ni,0(u)是一个阶梯函数,它在半开区间u∈[ui,ui+1)外都为零;
(2)当p>0时,Ni,p(u)是两个p-1次基函数的线性组合;
(3)计算一组基函数时需要事先制定节点矢量U和次数p;
(4)定义式中可能出现0/0,我们规定0/0=0;
(5)Ni,p(u)是定义在整个实数轴上的分段多项式函数,但我们一般只对它在区间[u0,um]上的部分感兴趣;
(6)半开区间[ui,ui+1)称为第i个节点区间(knot span),它的长度可以为零,因为相邻节点可以是相同的;
(7)计算p次基函数的生成过程生成一个如下形式的三角形阵列:
为了书写方便,我们通常将Ni,p(u)写为Ni,p。
性质:
(1)(局部支撑性)如果u∉[ui,ui+p+1),则Ni,p(u)=0。
(2)在任意给定的节点区间[uj,uj+1)内,最多p+1个Ni,p是非零的,它们是Nj-p,p,…,Nj,p。
(3)(非负性)对于所有的i,p和u,有Ni,p(u)≥0。
(4)(规范性)对于任意的节点区间[ui,ui+1),当u∈[ui,ui+1)时
(5)(可微性)在节点区间内部,Ni,p(u)是无限次可微的。
(6)除p=0的情况外,Ni,p(u)严格地达到最大值一次。
以上结论出自:《非均匀有理B样条》第2版。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】