问题标签 [voronoi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
544 浏览

r - r中绘图区域内的子图

上表给出了我想要绘制的绘图的 x(第 1 列)和 y(第 2 列)坐标。

我希望将我的下一个细分绘制在上述细分的一个区域中。我可以使用 dd$dirsgs 获得形成镶嵌的线条。在此,镶嵌中的每条线都给出了它们的端点。前四列分别给出 x1,y1 和 x2,y2 坐标。这些坐标是线的端点。使用此数据,我可以在上述细分中的这一区域内绘制下一个子细分。

对于下一个子细分,您可以生成您选择的坐标。但我只希望它们位于上面绘制的曲面细分的一个区域中。

dd$dirsgs 中的 ind 1 和 ind2 给出了 'd' 中的点,它们由 dd$dirsgs 的前 4 列表示的线分隔。

例如,如果我们要在包含 d 中的第一个点的图中绘制子细分,那么第 1、2、9、12、17 行是形成 d 中第一个点的边界的行。使用这些信息,我们可以绘制该区域内的子细分吗?——</p>

我想我已经涵盖了理解我的问题所需的所有内容。如果还有我没有包含的更多数据,请告诉我。我会提供资料。

0 投票
1 回答
1239 浏览

r - voronoi 镶嵌中的层次结构

我正在使用 voronoi 镶嵌。我有不同的多边形代表镶嵌中的区域。

下面的点用于绘制图中的镶嵌。

使用tessdata作为输入来绘制曲面细分,如下所示:

在此处输入图像描述

Sammon坐标如下。

我想构建输入 sammon 坐标点的镶嵌。使用这些点的镶嵌应该在图中所示的区域之一内,为此,上述点应该被缩放,或者我们可以将镶嵌的图限制在上图中的区域之一内。

希望我已经涵盖了所有必要的数据。

PS:

sammon 的投影采用“MASS”包。“deldir”包中的 voronoi 镶嵌。

deldir 函数输出的 dirsgs 参数将给出在镶嵌中形成线的点的坐标。

包 graphics 的segments 功能可用于连接从dirsgs 中提取坐标的2 个点。

0 投票
2 回答
89 浏览

javascript - 在游戏地图上创建非均匀空间

我需要有关创建游戏地图的建议。我需要在地图上创建 1400 个空间。我想象每个空间将是 10 种不同尺寸中的一种——例如,它们将是 10 个“size-10”,40 个“size-9”等,最小的有几百个-sizes(这是数据驱动的)。中心也会有一个中性空间(可能比其他所有空间都大一点)。我想将这些区域随机放置在游戏空间上,但它们之间不应有重叠,也不应有空间。总空间是否为矩形并不重要。我真的很喜欢这种努力,虽然它非常不符合我的要求,但它让我研究了 voronoi tesselations 并找到了一个javascript 实现我有点理解,但是我看到的所有示例都使用随机点作为原点,并且我正在寻找如上所述的更自定义的结果,所以这可能不是要走的路。--- 无论如何,我愿意接受任何建议。请注意,我是一名设计师而不是一名编码员,但我正在编写自己的原型,所以任何建议都值得赞赏。

0 投票
1 回答
2493 浏览

c++ - 使用 openCv 和 C++ 创建 voronoi 图

我有一个小问题。我需要使用 openCV 和 C++ 创建 BW 图像的 voronoi 图。我应该有类似 Matlab 函数 voronoin 的输出。

目标是为图表的每个区域创建一个掩码。

这是我在 Matlab 中制作的一个示例:

matlab voronoi 图

因此,对于每个区域,我应该创建一个蒙版或具有不同的颜色。我尝试了 openCV 函数 distanceTransform 以获得 voronoi 标签。

结果如下图: voronoi labels openCV

正如您所看到的,每个区域都有不同的颜色(特别是与单元格相对应的东西),有没有办法只使用一种颜色?先感谢您

0 投票
1 回答
2324 浏览

computational-geometry - 3点最远点voronoi图

这实际上更像是一个数学问题。但是给定 3 个点,你如何计算最远点 voronoi 图?

首先找到穿过所有这些圆圈并抓住它的中心。不知道从这里去哪里。图片很奇怪

0 投票
4 回答
6112 浏览

algorithm - 加权voronoi图的参考算法?

有人可以向我指出如何构建(乘法和/或加法)加权 voronoi 图的参考实现,该图最好基于 Fortune 的 voronoi 算法?

我的目标:给定一组点(每个点都有一个权重)和一组边界边(通常是一个矩形),我想使用 python 或 processing.org-framework 构建一个加权 voronoi 图。这是一个例子

到目前为止我所做的工作:到目前为止,我已经实现了 Fortune 的算法以及Michael Balzer 的论文中提出的“centroidal voronoi tessellation” 。算法 3 说明了如何调整权重,但是,当我实现这个时,我的几何不再起作用了。为了解决这个问题,必须更新扫描线算法以考虑权重,但到目前为止我还无法做到这一点。因此,我想看看其他人是如何解决这个问题的。

0 投票
1 回答
79 浏览

optimization - 连续修改一组点——找到所有最近的邻居

我有一组 3D 点。这些点会经历一系列微小的扰动(所有的点都会同时被扰动)。示例:如果我在一个框中有 100 个点,则在我的程序的每次迭代中,每个点都可以向上移动,但不超过框宽度的 0.2%。

每次扰动操作后,我想知道到每个点最近邻居的新距离。

这需要使用非常快的数据结构;我正在优化这个以提高速度。这是一个有点棘手的问题,因为我要同时修改所有点。近似 NN 算法不适用于这个问题。

我觉得答案介于 kd-trees 和 Voronoi tessellations 之间,但我不是数据结构方面的专家,所以我对该怎么做感到困惑。我确信这是一个非常困难的问题,需要大量研究才能达到真正的最佳解决方案,但即使是相当最佳的解决方案也对我有用。

谢谢

0 投票
2 回答
1518 浏览

java - Java中的最远点Voronoi图

我正在寻找一种简单的算法来找到最远点的 Voronoi 图。在我需要复杂的东西并且没有我可以找到的 Java 库的情况下,输入大小不会足够大。

我希望有人可以描述一个不应该太难计算的简单算法?

谢谢

0 投票
1 回答
328 浏览

draw - 如何为两个不同的点绘制 Voronoi 图

我试图弄清楚如何为两个不同的点绘制 Voronoi 图。

有人能帮我吗。

谢谢

0 投票
2 回答
3443 浏览

artificial-intelligence - Tron 的良好启发式

我有一个任务是用 AI 做一个 tron 游戏。我和我的团队几乎成功了,但我们正在努力寻找一个好的启发式方法。我们教过 Voronoi,但它有点慢:

我们有 5 秒的时间移动,这个算法听起来不太好!我不需要代码......我们只需要一个想法!谢谢 !

稍后编辑:我们应该尝试 Delaunay 三角测量吗?