首页 > 解决方案 > Qhull Convex hull 要我输入至少3分

问题描述

更新:我决定尝试使用线性编程包来确定两个多面体的顶点是否是线性可分的。(顶点实际上是我的数据,而不是多面体。)我认为这会更好,所以我不再需要这个问题的答案。

我正在编写一些涉及检查某些多面体是否不相交的代码。这些多面体由它们顶点的凸包定义,我正在使用Qhull. 特别是,我使用的方法是:

from scipy.spatial import ConvexHull

这很好用,只是有时我的集合中只有 2 或 1 个点。Qhull不喜欢这个,它吐出这个错误:

QhullError: QH6214 qhull input error: not enough points(1) to construction initial simplex (need 3)

执行时:| qhull i 为 Qhull 2015.2.r 2016/01/18 选择的 Qt 选项:run-id 109084531 发生率 Qtriangulate _pre-merge _zero-centrum

虽然我可以通过编写一些捕获少于 3 点的情况的子程序来处理这个问题,Qhull但不处理这种情况令人沮丧。所以我正在寻找:

1)让Qhull正确处理这个问题的简单方法

或者

2)使用的替代包

谢谢!

标签: pythonconvex-hullqhull

解决方案


QHull 并不真正需要处理一个或两个顶点(或维度 d 中的 d-1 个顶点)的多面体,因为它们执行自己的凸包(并且它们是单纯形)。

检查一个低数字并将输入传输到输出。


推荐阅读