请教如何切割NURBS曲线

Python 2023-08-23 14:44:05

最近的项目中,需要对AutoCAD中的样条曲线进行分割,达到不同封闭图形公用一个长的样条曲线中的一部分

经过研究,得知AutoCAD中样条曲线就是NUBRS曲线。

NUBRS曲线,主要由阶数,控制点数组,节点数组,权重数组决定。而想要达到公用一个长的样条曲线(记为A)中的一部分(记为B)的目的,则B的起始与结尾的控制点,在A中必是重复的控制点,这样控制点必在曲线A上。

由于节点数=控制点数+阶数+1,一般情况阶数为3,故节点数=控制点数+4。曲线的收尾的4个节点为重复节点。

现在的问题是,能够确定分割点(通过A中的重复控制点进行分割),记为B1,B2。也就知道了控制点B1,B2对应的索引值IB1,IB2。但是该如何确定IB1和IB2对应的节点段呢?即对应的起始节点IK1和终止节点IK2呢?

子曲线B的控制点和节点该如何表达呢?

请大神们指导一下哈~

...全文
228 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧