我在 mathoverflow 上发布了这个问题,但我也想知道你对此的看法。我想要做的是绘制一条曲线,该曲线始终与给定曲线的法线表面保持一定距离。我知道给定曲线的公式(分段三次样条)。问题似乎是当偏差距离大于曲线半径时 - 点会被打乱。有没有人遇到过这样的问题。有没有很好的解决方案?
感谢您的任何想法,
尤利安
稍后:向导先生在下面完美地描述了这个问题。
我在 mathoverflow 上发布了这个问题,但我也想知道你对此的看法。我想要做的是绘制一条曲线,该曲线始终与给定曲线的法线表面保持一定距离。我知道给定曲线的公式(分段三次样条)。问题似乎是当偏差距离大于曲线半径时 - 点会被打乱。有没有人遇到过这样的问题。有没有很好的解决方案?
感谢您的任何想法,
尤利安
稍后:向导先生在下面完美地描述了这个问题。
我认为您的定义会遇到麻烦:“......绘制一条曲线,该曲线始终与给定曲线的法线表面保持一定距离。”
如果您在凹曲线内绘制一系列线,则在某些时候,该线将自行折回,最终产生几何反转。
应用于椭圆,例如:
编辑:注意:这个答案不是关于避免拐角包裹(这是严格等距曲线的一个特征)。
根据维基百科,
与给定贝塞尔曲线有固定偏移的曲线,通常称为偏移曲线(与原始曲线“平行”,就像铁轨中的轨道之间的偏移),不能完全由贝塞尔曲线形成(除了在某些小事例)。但是,有一些启发式方法通常可以为实际目的提供足够的近似值。
因此,您必须使用一些启发式方法来获得近似值。有一篇名为Comparing offset curve approximation methods的学术论文包括 9 种算法的比较。
如果您想跳过研究并获得解决方案,请查看这篇描述 De Casteljau 算法实现的博客文章。编辑:我不得不承认,我不确定这个实现在急转弯时的表现如何。