- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用库 Scipy 和 ConvexHull 创建一个 Convex Hull。据我所知,它调用 QHull。
当我要添加的点没有“完整维度”时,就会出现问题。示例:
from scipy.spatial import ConvexHull
import numpy as np
points = np.append([[0,2]],[[2,0]],axis=0)
hull = ConvexHull(points)
具有输出:
Traceback (most recent call last):
File "C:/folder/vertices_scipy2.py", line 5, in <module>
hull = ConvexHull(points)
File "scipy\spatial\qhull.pyx", line 2230, in scipy.spatial.qhull.ConvexHull.__init__ (scipy\spatial\qhull.c:20317)
File "scipy\spatial\qhull.pyx", line 328, in scipy.spatial.qhull._Qhull.__init__ (scipy\spatial\qhull.c:3639)
QhullError: Qhull error
但是,如果我添加额外的点,使凸包具有完整维度:
from scipy.spatial import ConvexHull
import numpy as np
points = np.append([[0,0],[0,2]],[[2,0]],axis=0)
hull = ConvexHull(points)
然后一切正常。一个例子和另一个例子的区别(我做过很多其他的例子,所以我很确定)是第一种情况下的凸包在二维空间中是一维的,而在第二种情况下,是 2-二维空间中的维度(即全维度)。
有什么想法吗?我想从 docs 开始传递一些 qhull_options表明,正如答案中提到的那样:
QHullError Raised when Qhull encounters an error condition, such as geometrical degeneracy when options to resolve are not enabled.
但是,我已经阅读了很多 options in QHull他们似乎都没有解决这个问题。我随机尝试了其中一些,但收效甚微。
任何帮助都会有所帮助。我正在开发一个程序来创建数百个这样的外壳,其中一些不是全尺寸的。
最佳答案
ConvexHull 似乎不支持退化凸包。
点数必须至少为维数加一才能具有非退化凸包。
例如在平面上,您需要 3 个点才能获得非退化外壳:3 个点的凸包将是一个三角形,而退化外壳将是 2 个点之间的线段。
事实上 docs提到:
Raises: QhullError Raised when Qhull encounters an error condition, such as geometrical degeneracy when options to resolve are not enabled.
关于python - Scipy ConvexHull 和 QHull : rank/dimension is not maximal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30132124/
Update: I've decided to try to use a linear programming package in order to determine if the vertice
I am using PCL and noticed that when I include pcl/surface/qhull.h there is an error while buildi
我的问题简而言之:是否可以约束 Qhull 生成的 Voronoi 顶点的域?如果是这样,如何才能做到这一点? 我的上下文问题:我正在研究数据可视化,其中我在 2D 字段中有点。这些点有点重叠,所以我
我在通过 python 中的 QHull 传递命令时遇到问题。我目前正在尝试这样做: input_command = "rbox c " + str(qpoints) + " | qconvex FQ
我正在尝试使用 SciPy wrapper for QHull 获取一组点的凸包体积 . 根据documentation of QHull , 我应该传递 "FA" 选项以获得总表面积和体积。 这是我
qhull 库 (qhull.org) 在他的网站上提供了几个示例,但所有关于 C++ 的信息对我来说都不是很有用。 我正在尝试制作从文件中读取的 3D 点的简单凸包,我无法使用网站中建议的将 qhu
我正在尝试使用 scipy.interpolate.LinearNDInterpolator()在 8 维空间中插入数据点并收到我不明白的错误: scipy.spatial.qhull.QhullEr
我有数千个点集,我将它们提供给 Scipy 的 Delaunay 函数以获得一组相应的三角剖分。 如果我的输入点无效,例如。一条线上的所有点或由于某些其他原因 Delaunay 三角剖分失败,它会在控
我正在尝试使用库 Scipy 和 ConvexHull 创建一个 Convex Hull。据我所知,它调用 QHull。 当我要添加的点没有“完整维度”时,就会出现问题。示例: from scipy.
我正在尝试创建相对稀疏的脑电图数据(27 个电极)的头顶 View 热图。我将 EEG 电极的 x,y 笛卡尔坐标转换为极坐标,并尝试将它们如此映射。每个 x,y 坐标对应于给定值(如果您想知道:赫斯
我是一名优秀的程序员,十分优秀!