查找点的凸包

问题描述

以下数组:

p = np.array([[ 0,0],[ 9,[18,[27,[36,[45,[54,[63,[72,[ 0,9],18],27],36]])

当我尝试从这里运行示例时 https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html

from scipy.spatial import ConvexHull

import matplotlib.pyplot as plt
plt.plot(p[:,p[:,1],'o')
for simplex in hull.simplices:
    plt.plot(points[simplex,points[simplex,'k-')

我明白了:

enter image description here

我没有看到凸包。有谁知道为什么?

解决方法

对您的代码进行少量修改,这应该可以工作:

from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt

plt.plot(p[:,0],p[:,1],'o')
hull = ConvexHull(p)
for simplex in hull.simplices:
    plt.plot(p[simplex,p[simplex,'k-')

enter image description here