Python Qhull凸包希望我输入至少3个点
更新:我决定尝试使用一个线性规划包来确定两个多面体的顶点是否是线性可分的。(顶点实际上是我的数据,而不是多面体。)我认为这会更好,所以我不再需要这个问题的答案 我正在写一些代码,包括检查某些多面体是否不相交。这些多面体由顶点的凸包定义,我正在使用Python Qhull凸包希望我输入至少3个点,python,convex-hull,qhull,Python,Convex Hull,Qhull,更新:我决定尝试使用一个线性规划包来确定两个多面体的顶点是否是线性可分的。(顶点实际上是我的数据,而不是多面体。)我认为这会更好,所以我不再需要这个问题的答案 我正在写一些代码,包括检查某些多面体是否不相交。这些多面体由顶点的凸包定义,我正在使用Qhull创建凸包。特别是,我使用的方法是: from scipy.spatial import ConvexHull 这很好,只是有时候我的集合中只有2或1个点Qhull不喜欢这样,它会抛出以下错误: QhullError:QH6214 qhull输
Qhull
创建凸包。特别是,我使用的方法是:
from scipy.spatial import ConvexHull
这很好,只是有时候我的集合中只有2或1个点Qhull
不喜欢这样,它会抛出以下错误:
QhullError:QH6214 qhull输入错误:没有足够的点(1)来构造初始单纯形(需要3)
执行时:| qhull i Qt
Qhull 2015.2.r 2016/01/18选择的选项:
运行id 109084531关联Qtriangulate\u预合并\u零中心
虽然我可以通过编写一些子例程来处理这个问题,这些子例程捕捉到少于3个点的情况,但令人沮丧的是,Qhull
没有处理这个问题。所以我在寻找:
1) 一种让Qhull正确处理此问题的简单方法
或
2) 可供选择的软件包
谢谢大家! QHull实际上不必处理一个或两个顶点(或维度d中的d-1顶点)的多面体,因为它们实际上是它们自己的凸包(它们是单纯形)
检查是否有低数值并将输入传输到输出。只是好奇,如果你的集合包含三个相同的点,它会抱怨吗?@muratgu这是个好主意,我试试。@muratgu是的,它会抱怨。(它给出的投诉是:“QhullError:QH6013 qhull输入错误:输入小于二维,因为它具有相同的x坐标。”@muratgu我将使用线性规划来确定是否存在线性分隔符,如这里所述(相当于凸霍尔不相交):