我试图找到 NURBS 曲线的尖角。对于这个问题,我定义了一个极限曲率。我试图在曲线上找到曲率高于此值的部分。一种选择是在曲线上插值并计算所有值的曲率,但这可能需要时间并且可能会遗漏一些尖点。关于如何以有效方式找到这些部分的任何想法?
问问题
285 次
1 回答
1
分析计算曲率的导数,我猜你会发现一个(可怕的)表达式,分子处有一个多项式。一个好的多项式求解器将允许您找到根,因此找到极值,将曲线分割成具有单调曲率的部分,并从那里找到k=c
by regula falsi 或类似的精确解。
一种更简单的方法是使曲线变平(转换为平滑的折线)并估计所有三元组连续点的局部曲率(使用它们的外接圆)。高曲率部分也可能在变平时通过点密度的异常来检测。
扁平化优于均匀采样的好处是它会自动调整点密度。
另一个想法是采用圆弧逼近曲线的方法(这可以与二阶展平操作相比较)。您会发现一些关于该主题的论文(不要与曲线近似圆混淆),但通常这些方法很复杂。
也许也可以为给定区间内的 NURBS 曲率下限设计一个解析公式,并使用它来实现二等分方法。
于 2016-01-26T17:37:04.280 回答