我有一个封闭的3阶(2次)b样条,它具有以下参数
9控制点14个结点
为什么关系是9 + 3 + 2 = 14?
b样条的阶数(N)、控制点数(C)和结点数(K)之间的关系是
K = C + O - 2
或
K = C + O
选择取决于用于初始和最终结的约定。
一些库,OpenGL的旧辅助库是一个重要的例子,存储初始和最终结值的额外副本。这些实现将具有K = C + o。如果您检查用于评估b-spilnes的算法,则不需要重复的初始和最终结值值。由于这个原因,其他库,opennurbs和Rhino 3d的SDK是值得注意的例子,有K = C + O -2。
更多信息请访问http://wiki.mcneel.com/developer/onsuperfluousknot
您的b样条可以是2度周期b样条,其末端将有两个重复的控制点,这两个控制点与前两个控制点相同。对于这种情况,在显示所有11个控制点时,看起来只有9个。也有可能你正在使用的软件决定不将两个相同的控制点存储在运行时数据结构或c++类中,你最终会看到9个控制点,有14个节。