我有一个封闭的3阶(2阶)BSpline,其中包含以下参数
9个控制点 14节点
为什么关系是9 + 3 + 2 = 14?
答案 0 :(得分:0)
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。
答案 1 :(得分:0)
你的B样条可以是2度perioidc B样条,最后将有两个重复的控制点,与前两个控制点相同。对于这种情况,当显示所有11个控制点时,它看起来只有9个。您使用的软件也可能决定不在运行时数据结构或C ++类中存储两个相同的控制点,您将最终以14节的速度看到9个控制点。