OpenCasCade中曲线分割问题
在OpenCasCade中,参数类曲线有两种分割方法(暂不清楚是否还有其他方法),以B样条曲线为例(相关代码附在文字末尾)
通过参数进行分割
分别获得曲线的 FirstParameter 和 LastParameter ,然后对参数进行分割,获得n个ui,并对每个ui调用D0(获得这个点的坐标值)或D1(获得这个点的坐标值和切向量)。这个方法的优点是,简单易行,好操作,缺点均分参数轴获得的曲线的分割并不是均匀的,图例如下:
直接对曲线分割
通过类 GCPnts_UniformAbscissa
实现对一个Geom_Curve对象的平均分割,获得分割点的坐标及对应的参数,将坐标和参数存入一个列表中,供其他操作使用,分割曲线的图例如下:
两种分割方法的效果放在一张图上展示如下
这样会更明显一点,黄色点位采用参数分割获得的分割点,白色点为直接对曲线进行分割获得的分割点:
相关代码
<