【发布时间】:2020-02-09 07:06:36
【问题描述】:
大家好,我正在 GML (Gamemaker) 中尝试我们的东西,这似乎并不经常尝试。现在我正在尝试制作一个 voronoi 图。我翻译了我在 Internet 上找到的旧 Action 脚本代码,因为其语法与 gml 和 Javascript 非常相似。我让它大部分工作,幸运的是脚本允许它绘制线条来可视化 Voronoi 图,我能够从数组(px,py,ex,ey)中拉出这些顶点。但是我希望能够从这些点形成多边形。
我创建了一个新的种子对象并提供 px,py,ex,ey 来绘制周围的边缘,但是其中一些不使用整个点来创建多边形。这是下面的图片。
正如您通常看到的那样,所有的边都构成了 voronoi 图,但是仔细检查后,一些“多边形”并未闭合,并且不使用它周围的所有环绕点来构成多边形。
Polygon not closing or reciveing surrounding Points
在过去 3 天试图解决这个问题时,我真的很迷茫,但我只是找不到为 1 个对象生成单元格的方法。这是正常行为吗?
我确实找到了一种产生 delaunay 三角剖分的方法,但即使有这些三角形和外心列表,我什至不确定如何处理它们。
我在这里阅读了一些 JS、Python、C Basic 代码
https://rosettacode.org/wiki/Voronoi_diagram
我还没有付诸实践,但是即使我生成了图表,我如何单独拆分每个单元格,我需要为一个种子对象唯一地拆分顶点??
【问题讨论】:
标签: javascript python voronoi game-maker delaunay