如何对2D多边形进行二次采样?

Woo*_*kai 6 language-agnostic algorithm 2d polygon subsampling

我有多边形来定义英国各县的轮廓.这些形状非常详细(每个10k到20k点),因此渲染相关的计算(多边形P?中的点X)非常昂贵.

因此,我想"子采样"我的多边形,以获得相似的形状,但点数较少.有什么不同的技术呢?

琐碎的一个是每N一点拿一个(因此用一个因子进行二次抽样N),但这感觉太"粗糙"了.我宁愿做点平均值,也不想做点什么.任何指针?

Dav*_*ten 5

我想到两种解决方案:

1)由于英国的地图是合理的方形,你可以选择用县渲染位图.为每个特定颜色指定颜色,然后使用1或2像素粗黑线渲染边框.这意味着如果样品恰好位于边界上,您只需执行昂贵的内部/外部计算.位图越大,发生的次数越少.

2)简化县概述.您可以使用递归的Ramer-Douglas-Peucker算法递归地简化边界.只需确保缓存结果即可.您可能还必须解决这个问题,不是针对整个县界,而是针对共享边界,以确保没有差距.这可能非常棘手.