我试着用scipy(0.10.1)来快速绘制凸面外壳。
我可以用下面的代码得到凸面外壳:
vecs = [[-0.094218, 51.478927], [-0.09348, 51.479364], [-0.094218, 51.478927],
...
[-0.094218, 51.478927], [-0.094321, 51.479918], [-0.094218, 51.478927],
[-0.094222, 51.478837], [-0.094241, 51.478388], [-0.094108, 51.478116],
[-0.09445, 51.480279], [-0.094256, 51.478028], [-0.094326, 51.500511]]
hull = scipy.spatial.Delaunay(vecs).convex_hull
结果数组如下所示:
[[56, 9], [16, 1], [56, 1], [55, 9], [53, 55], [53, 16]]
数字是顶点索引。我的问题是他们没有订购。我需要他们在CW或CCW的顺序,以便容易地可视化他们在KML。
有什么简单的方法可以让scipy.space计算出正确的顺时针顺序吗?
我发现了一个很好的方法,但它需要scipy 0.11.0(sparse.csgraph)
下面是一个完整的例子,实际排序是“sort hull…”注释后面的两个对齐。
所以这段代码似乎起到了作用,但可能更简单。。。 基本上,我首先从外壳收集顶点数。然后我计算平均值,重新将数据集居中,并按与平均值的角度对其进行排序。
在^{} 的当前dev doc(0.13.0.dev)中,有一个在2D中逆时针的
vertices
属性相关问题 更多 >
编程相关推荐