python - 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)使用的替代包
谢谢!
解决方案
QHull 并不真正需要处理一个或两个顶点(或维度 d 中的 d-1 个顶点)的多面体,因为它们执行自己的凸包(并且它们是单纯形)。
检查一个低数字并将输入传输到输出。
推荐阅读
- java - Libgdx 类不绘制纹理
- angular - Redux 和 3rd 方库
- powershell - Powershell - 组织者电子邮件地址
- mysql - 熊猫导入未插入所有行
- excel - VBA:使用 DoEvents 不同时间长度的代码暂停
- java - 通过@ResponseBody 返回时更改 DTO JSON 中的日期格式
- bash - bash脚本中的嵌套while循环-内部被跳过
- r - 从 Rasterbrick 中的较低层提取数据
- reactjs - 如何更改 Office Fabric UI 导航组件上的悬停颜色
- javascript - Fullcalendar Now() 指标定位错误