小编Jes*_*cia的帖子

Scipy ConvexHull和QHull:rank/dimension不是最大值

我正在尝试使用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中的许多选项,但它们似乎都没有解决这个问题.我随机尝试了其中一些,收效甚微.

任何帮助都会有所帮助.我正在开发一个程序,可以创建数百个这样的船体,其中一些不是全维的.

python numpy convex-hull convex-polygon qhull

6
推荐指数
1
解决办法
3221
查看次数

Python:子类化元组和运算符

我是元组的子类.我想覆盖相等的方法.它似乎没有工作.这是我最小的工作示例:

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.关于我做错了什么的任何想法?我打赌它很愚蠢,但我很茫然.

python oop tuples subclass operators

2
推荐指数
2
解决办法
266
查看次数

Python:subclassing frozenset不可迭代?

对于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

python types set subclassing python-2.7

1
推荐指数
1
解决办法
355
查看次数

出现HTML表随机字符

在我的网站上,我有一张桌子,当我在Chrome或Firefox中显示时,我会看到一个奇怪的字符'w',而不会在表格显示之前出现在代码中.

该页面特别是:http: //math.jhu.edu/jmartinezgarcia/conferences.html

它并没有打扰我,但我想知道为什么会出现.

警告:我知道我混合了HTML 4甚至3和CSS,但我怀疑这可能不是原因.

html css

-3
推荐指数
1
解决办法
473
查看次数