Javascript 多边形边的平滑算法
我使用Node.js和凹面外壳算法来隔离英国邮政编码部门。 这就是我现在得到的: 现在,我需要平滑边界,使其看起来像这样:Javascript 多边形边的平滑算法,javascript,algorithm,computational-geometry,Javascript,Algorithm,Computational Geometry,我使用Node.js和凹面外壳算法来隔离英国邮政编码部门。 这就是我现在得到的: 现在,我需要平滑边界,使其看起来像这样: 有人知道我应该使用哪种算法吗?似乎有很多方法可以做到这一点。我倾向于引用某种贝塞尔插值() @amit给出了另一个关于如何解决这个问题的很好的线索,样条曲线实际上对于平滑多边形非常有用。见相关问题: 希望有帮助 至少有两种方法: 曲线拟合算法(最适合您的用例) Rammer-Douglas-Peucker算法(更易于实现) Rammer-Douglas-Peucke
有人知道我应该使用哪种算法吗?似乎有很多方法可以做到这一点。我倾向于引用某种贝塞尔插值() @amit给出了另一个关于如何解决这个问题的很好的线索,样条曲线实际上对于平滑多边形非常有用。见相关问题: 希望有帮助 至少有两种方法:
- 曲线拟合算法(最适合您的用例)
- Rammer-Douglas-Peucker算法(更易于实现)
请参阅我所做的(以及上面更具描述性的答案)以获取解决方案。我想到的变体问题是,您有多个不相交的多边形,但希望在它们之间画一条线。我可以尝试表示这些多边形之间的区域,然后以某种方式将它们“挤压”成直线。或者“生长”多边形直到它们接触。我如何生长它们直到它们接触?我应该使用什么?@elektro_pionirka您可以搜索多边形偏移来生长它们,以及搜索多边形相交检测来检测它们是否接触