问题标签 [qhull]

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 回答
864 浏览

math - 使用自定义(大圆)距离的 Voronoi 图

我想在几对纬度/经度上创建一个 Voronoi 图,但想使用它们之间的大圆距离,而不是(不准确的)毕达哥拉斯距离。

我可以让 qhull/qvoronoi 或其他一些 Linux 程序这样做吗?

我考虑将点映射到 3D,让 qvoronoi 创建一个 3D Voronoi 图[1],并将结果与​​单位球体相交,但我不确定这是否容易。

[1] 我意识到两个纬度/经度之间的 3D 距离(“通过地球”路径)与大圆距离不同,但很容易证明这种变换保留了相对距离,这很重要对于 Voronoi 图。

0 投票
0 回答
446 浏览

qhull - 使 qhull/qvoronoi 将 Voronoi 限制为凸包或给定多边形

平面 Voronoi 细分将始终具有无界多边形(无限区域)。

如何告诉 qhull/qvoronoi 将镶嵌与原始点的凸包或我明确指定的多边形(可能是矩形)相交。

具体示例(https://github.com/barrycarter/bcapps/blob/master/bc-temperature-voronoi.pl):

  • 我将纬度/经度(不准确)映射到二维矩形 (-180,180)*(-90,90),并将 qvoronoi 应用于结果。

  • 我无法处理无界多边形,并且 Google Maps API 不喜欢在 (-180,180) (-90,90) 之外徘徊的多边形 [实际上,它更像是 (-180,180) (-85,85),因为 Google 使用墨卡托]

  • 我可以让 qhull/qvoronoi 将多边形与点的凸包和/或 (-180,180)*(-90,90) 矩形相交吗?当然,凸包完全包含在矩形内。

  • 如果没有,其他程序可以做到吗?我怀疑我可以自己写这个,但更喜欢现有的解决方案。

0 投票
2 回答
917 浏览

python - 使用简单 cv 时出现奇怪的 ghull 错误

[2]中:导入SimpleCV

有谁知道我为什么会收到这个错误?这个 qhull 包是什么,我看不到如何为 python 安装它。它应该带有 scipy 吗?在使用 python 2.6 的另一台计算机上我没有遇到这个问题?

更新:我尝试重新安装 scipy 和同样的问题。我跟踪到 qhull.pyd 缺少依赖 DLL 的问题,它说 msvcr90.dll 丢失但我在我的 system32 文件夹中有它,但它在本地目录中查找它?有谁知道如何改变这个?

0 投票
2 回答
304 浏览

perl - 3D Perl 中的凸包

我有一组带有 xyz 坐标的 3D 点。我想计算这些点的凸包。我已经完成了可用的算法,但我不能在 Perl 中做到这一点。Perl Math:ConveextHull 模块我也检查过,但我不知道如何将这些 3D 点作为输入。请帮我。

0 投票
2 回答
4843 浏览

3d - Calculating a Voronoi diagram for planes in 3D

Is there a code/library that can calculate a Voronoi diagram for planes (parallelograms) in 3D? I checked Qhull and it seems it can only work with points, in its examples Voro++ works with different size of spheres but I couldn't find anything for polygons.

In this image (sample planes in 3d) the parallelograms are 3D since they have a thickness, but in this case the thickness will be zero.!

0 投票
2 回答
5334 浏览

python - python中的3D外推(基本上,scipy.griddata扩展为外推)

我在 scipy 中使用 griddata 函数来插入 3 维和 4 维数据。它就像一个冠军,除了它返回一堆 NaN,因为我需要的一些点超出了输入数据的范围。鉴于 Nd 数据无论如何只适用于“线性”模式插值,让 griddata 进行外推而不是仅仅返回 NaN 应该很容易。有没有人这样做或找到解决方法?澄清一下:我有非结构化数据,所以我不能使用任何需要常规网格的功能。谢谢!亚历克斯

0 投票
2 回答
1228 浏览

computational-geometry - 从 Qhull 输出中获取 3D Voronoi 细胞

我的目标是从 Qhull 的 qvoronoi 子例程的输出中获取单个 3D Voronoi 单元(顶点和边)。但是,我无法理解 voronoi 脊(输出“Fv”)。输出中的示例行是:

第一个数字是行中的顶点数,接下来的两个是被脊分隔的顶点的索引,其余的数字是脊上的顶点索引。我天真地尝试连接相邻的顶点(即4->5, 5->3, 3->1等),它似乎有效,但我不确定这是否正确。这些点如何相互连接?

此外,从 qvoronoi 输出(选项“FN”)中,我可以获得每个区域的顶点,但没有关于顶点之间连接性的信息。我想知道这些信息在哪里。它是在 ridges 输出中,还是在不同的 qvoronoi 输出选项中?

0 投票
1 回答
2624 浏览

python - voronoi 和 lloyd 使用 python/scipy 放松

如何使用 Qhull 确定哪些 voronoi 单元(按索引)是“正确的”(由“现有顶点”组成)

我正在尝试使用 LLoyds 算法和由 scipy.spatial Voronoi (这是 Qhull 的包装器)生成的输入来执行约束松弛。

就代码而言,它看起来像:

代码生成的输出图看起来没问题(见下文),但 vor 结构中的数据不足以执行 Lloyds 松弛。这是因为我应该只移动有效 voronoi 单元内的点(图像中的 #4)。另一个应该保持原样。Qhull 打乱了点/区域的顺序,所以我无法估计哪个区域属于哪个点。

这是问题的说明:

现在我应该以某种方式发现 vor.regions[7] 是属于点 vor.points[4] 的区域。如何做到这一点?

3x3 网格上的 Voronoi

0 投票
1 回答
287 浏览

python - 通过python使用qhull管道困难

我在 python 中通过 QHull 管道命令时遇到问题。我目前正在尝试这样做:

在这里, qpoints 被格式化,因此 input_command 最终为:

不幸的是,这只是打印出 qconvex 的用法:

我在网上阅读了一些在 python 调用中包含管道时必须采取的额外步骤的示例。但是我无法让它们的任何示例起作用,而且几乎没有解释发生了什么。有人可以在这里向我解释一个有效的代码片段以及它为什么有效吗?

我还尝试从文件中读取一个函数的结果。例如,我尝试从文件中读取 rbox 的结果:

蟒蛇代码:

数据:

不过,这仍然只是打印出 QConvex 描述。奇怪的是,这在命令行中可以很好地工作,而不是通过 python。即使我不能让管道工作,我也绝对需要从文件中读取才能工作。有谁知道这个函数调用的诀窍是什么?

0 投票
2 回答
6332 浏览

c++ - qhull 库 - C++ 接口

qhull 库 (qhull.org) 在他的网站上有几个示例可以开始,但所有关于 C++ 的信息对我来说都不是很有用。

我正在尝试制作从文件中读取的 3D 点的简单凸包,我不能使用网站中建议的将 qhull.exe 作为外部应用程序调用的技术,因为我需要制作几个凸包根据我在数据点中所做的一些修改。

我找不到执行此操作的简单示例,有人可以在此任务中给我一些帮助吗?任何信息都会很有用。

谢谢