我试图获得形成多边形的点,以用某种颜色填充它。我有一组要点,然后为它计算Voronoi图。结果是这样的:

绿点是我定义的点,蓝点是Voronoi图的计算顶点。我想填充由特定绿色点生成的多边形,所以我需要知道围绕它的哪些点来形成多边形并填充它。

我已经阅读了有关Gift Wrapping AlgorithmConvex Hull的信息,但这似乎不是我所需要的。有没有适合这种需求的算法?我使用C++进行编程,但是Java或C#方面的任何帮助都会有所帮助。

最佳答案

礼品包装算法(这是凸包算法)用于查找在平面中包含一组点的最小凸多边形。那不是你想要的。

Fortune's algorithm是查找Voronoi图的实际边界的很好的解决方案。这不是一个简单的算法,但是在链接的Wikipedia页面上提供了完整的伪代码。在Wikipedia页面的底部,提供了几种不同语言的Fortune算法实现的链接。

关于c++ - 如何获得voronoi细胞周围的点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16796937/

10-12 02:57