问题标签 [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.
math - 使用自定义(大圆)距离的 Voronoi 图
我想在几对纬度/经度上创建一个 Voronoi 图,但想使用它们之间的大圆距离,而不是(不准确的)毕达哥拉斯距离。
我可以让 qhull/qvoronoi 或其他一些 Linux 程序这样做吗?
我考虑将点映射到 3D,让 qvoronoi 创建一个 3D Voronoi 图[1],并将结果与单位球体相交,但我不确定这是否容易。
[1] 我意识到两个纬度/经度之间的 3D 距离(“通过地球”路径)与大圆距离不同,但很容易证明这种变换保留了相对距离,这很重要对于 Voronoi 图。
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) 矩形相交吗?当然,凸包完全包含在矩形内。
如果没有,其他程序可以做到吗?我怀疑我可以自己写这个,但更喜欢现有的解决方案。
python - 使用简单 cv 时出现奇怪的 ghull 错误
[2]中:导入SimpleCV
有谁知道我为什么会收到这个错误?这个 qhull 包是什么,我看不到如何为 python 安装它。它应该带有 scipy 吗?在使用 python 2.6 的另一台计算机上我没有遇到这个问题?
更新:我尝试重新安装 scipy 和同样的问题。我跟踪到 qhull.pyd 缺少依赖 DLL 的问题,它说 msvcr90.dll 丢失但我在我的 system32 文件夹中有它,但它在本地目录中查找它?有谁知道如何改变这个?
perl - 3D Perl 中的凸包
我有一组带有 xyz 坐标的 3D 点。我想计算这些点的凸包。我已经完成了可用的算法,但我不能在 Perl 中做到这一点。Perl Math:ConveextHull 模块我也检查过,但我不知道如何将这些 3D 点作为输入。请帮我。
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.!
python - python中的3D外推(基本上,scipy.griddata扩展为外推)
我在 scipy 中使用 griddata 函数来插入 3 维和 4 维数据。它就像一个冠军,除了它返回一堆 NaN,因为我需要的一些点超出了输入数据的范围。鉴于 Nd 数据无论如何只适用于“线性”模式插值,让 griddata 进行外推而不是仅仅返回 NaN 应该很容易。有没有人这样做或找到解决方法?澄清一下:我有非结构化数据,所以我不能使用任何需要常规网格的功能。谢谢!亚历克斯
computational-geometry - 从 Qhull 输出中获取 3D Voronoi 细胞
我的目标是从 Qhull 的 qvoronoi 子例程的输出中获取单个 3D Voronoi 单元(顶点和边)。但是,我无法理解 voronoi 脊(输出“Fv”)。输出中的示例行是:
第一个数字是行中的顶点数,接下来的两个是被脊分隔的顶点的索引,其余的数字是脊上的顶点索引。我天真地尝试连接相邻的顶点(即4->5
, 5->3
, 3->1
等),它似乎有效,但我不确定这是否正确。这些点如何相互连接?
此外,从 qvoronoi 输出(选项“FN”)中,我可以获得每个区域的顶点,但没有关于顶点之间连接性的信息。我想知道这些信息在哪里。它是在 ridges 输出中,还是在不同的 qvoronoi 输出选项中?
python - voronoi 和 lloyd 使用 python/scipy 放松
如何使用 Qhull 确定哪些 voronoi 单元(按索引)是“正确的”(由“现有顶点”组成)
我正在尝试使用 LLoyds 算法和由 scipy.spatial Voronoi (这是 Qhull 的包装器)生成的输入来执行约束松弛。
就代码而言,它看起来像:
代码生成的输出图看起来没问题(见下文),但 vor 结构中的数据不足以执行 Lloyds 松弛。这是因为我应该只移动有效 voronoi 单元内的点(图像中的 #4)。另一个应该保持原样。Qhull 打乱了点/区域的顺序,所以我无法估计哪个区域属于哪个点。
这是问题的说明:
现在我应该以某种方式发现 vor.regions[7] 是属于点 vor.points[4] 的区域。如何做到这一点?
python - 通过python使用qhull管道困难
我在 python 中通过 QHull 管道命令时遇到问题。我目前正在尝试这样做:
在这里, qpoints 被格式化,因此 input_command 最终为:
不幸的是,这只是打印出 qconvex 的用法:
我在网上阅读了一些在 python 调用中包含管道时必须采取的额外步骤的示例。但是我无法让它们的任何示例起作用,而且几乎没有解释发生了什么。有人可以在这里向我解释一个有效的代码片段以及它为什么有效吗?
我还尝试从文件中读取一个函数的结果。例如,我尝试从文件中读取 rbox 的结果:
蟒蛇代码:
数据:
不过,这仍然只是打印出 QConvex 描述。奇怪的是,这在命令行中可以很好地工作,而不是通过 python。即使我不能让管道工作,我也绝对需要从文件中读取才能工作。有谁知道这个函数调用的诀窍是什么?
c++ - qhull 库 - C++ 接口
qhull 库 (qhull.org) 在他的网站上有几个示例可以开始,但所有关于 C++ 的信息对我来说都不是很有用。
我正在尝试制作从文件中读取的 3D 点的简单凸包,我不能使用网站中建议的将 qhull.exe 作为外部应用程序调用的技术,因为我需要制作几个凸包根据我在数据点中所做的一些修改。
我找不到执行此操作的简单示例,有人可以在此任务中给我一些帮助吗?任何信息都会很有用。
谢谢