繁体   English   中英

具有scipy.spatial的简单2D凸包错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM