[英]Convex hull routines in scipy.spatial gives me back my original set of points
[英]Simple 2D Convex Hull error with scipy.spatial
这些非常简单的代码行成功地获取了二维坐标,并相应地绘制了它们。
import numpy as np
import matplotlib.pyplot as plt
from scipy.spatial import ConvexHull
rawdata = np.genfromtxt('test.csv', delimiter=';')
data = rawdata[1:]
hull2d=ConvexHull(data)
x = data[:, 0]
y = data[:, 1]
plt.plot(x, y, 'o')
plt.plot(x, y, 'k-')
plt.show()
看来做错了是计算凸包,看起来像这样
它不应该在最外面的点周围创建一个船体吗(Graham Scan)?
您没有绘制正确的数据。 根据Scipy文档,其外观应为:
from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt
rawdata = np.genfromtxt('test.csv', delimiter=';')
points = rawdata[1:]
hull = ConvexHull(points)
plt.plot(points[:,0], points[:,1], 'o')
for simplex in hull.simplices:
plt.plot(points[simplex,0], points[simplex,1], 'k-')
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.