3

为现有多段线创建平行多段线的简单算法很简单:您可以计算每个顶点的法线(作为线段法线的平均值)并使用法线以您想要的任意数量置换顶点。

但是,当我尝试在曲线折线上使用此算法时,会出现图形问题,即形成弧的一系列点。当我创建与圆弧多段线平行时,一切都很好,直到我增加足够的距离,使投影顶点通过它们的法线创建一条多段线,从一个顶点前进到另一个顶点实际上沿相反方向移动,从而创建一个自相交。

如何有效地从平行折线中删除这些顶点?我已经比较了线段的方向:如果生成的线段不平行,这意味着我已经达到了平行折线与自身相交的点。但是,这对于小段(弯曲的多段线将生成更小的段)或最初具有退化顶点(一个顶点等于下一个顶点)的多段线效果不佳。

4

1 回答 1

2

平行折线在图形圆中称为偏移折线。看起来像一种在没有退化几何伪影的情况下生成偏移折线的方法是使用直线骨架算法。

我还发现了一篇关于该主题的有趣论文,称为折线曲线的偏移算法

于 2010-08-08T21:36:03.927 回答