我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)
有输出:
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
Run Code Online (Sandbox Code Playgroud)
但是,如果我添加一个额外的点,那么凸包具有完整的尺寸:
from scipy.spatial import ConvexHull
import numpy as np
points = np.append([[0,0],[0,2]],[[2,0]],axis=0)
hull = ConvexHull(points)
Run Code Online (Sandbox Code Playgroud)
一切正常.一个例子和另一个例子之间的区别(我做了很多其他的例子,所以我确定)是第一种情况下的凸包在二维空间中是1维的,而在第二种情况下是2二维空间中的维度(即全维度).
有任何想法吗?自从文档指出以来,我认为传递了一些qhull_options,因为在答案中已经提到:
QHullError当Qhull遇到错误条件时引发,例如当未启用要解析的选项时的几何退化.
但是,我已经阅读了QHull中的许多选项,但它们似乎都没有解决这个问题.我随机尝试了其中一些,收效甚微.
任何帮助都会有所帮助.我正在开发一个程序,可以创建数百个这样的船体,其中一些不是全维的.
我是元组的子类.我想覆盖相等的方法.它似乎没有工作.这是我最小的工作示例:
class OPS(tuple):
def __new__(self, data):
self=tuple(data)
return self
def __eq__(A,B):
print 'Hi'
return True
O1=OPS([1,2,3])
O2=OPS([1,2,4])
O1==O2
Run Code Online (Sandbox Code Playgroud)
它返回False,当它应该打印'Hi',然后再返回True.关于我做错了什么的任何想法?我打赌它很愚蠢,但我很茫然.
对于iterables,子类化冷冻集和集合似乎不起作用.尝试运行以下MWE:
class MonFrozenSet(frozenset):
def __new__(self, data):
super(MonFrozenSet,self).__init__(data)
return self
class MonSet(set):
def __init__(self, data):
super(MonSet,self).__init__(data)
x=(1,2,3,4)
A=MonSet(x)
B=MonFrozenSet(x)
for y in A: #Works
print y
for y in B: #Doesn't work
print y
Run Code Online (Sandbox Code Playgroud)
第二个for回归:
for y in B:
TypeError: 'type' object is not iterable
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?
如果你问自己为什么我想使用freezeset,那就是我试图创建一组元组.元组集将被冻结,元组集将成为一组.
我使用Python-2.7
在我的网站上,我有一张桌子,当我在Chrome或Firefox中显示时,我会看到一个奇怪的字符'w',而不会在表格显示之前出现在代码中.
该页面特别是:http: //math.jhu.edu/jmartinezgarcia/conferences.html
它并没有打扰我,但我想知道为什么会出现.
警告:我知道我混合了HTML 4甚至3和CSS,但我怀疑这可能不是原因.
python ×3
convex-hull ×1
css ×1
html ×1
numpy ×1
oop ×1
operators ×1
python-2.7 ×1
qhull ×1
set ×1
subclass ×1
subclassing ×1
tuples ×1
types ×1