【发布时间】:2013-01-13 15:22:49
【问题描述】:
我有一个 List(Of Point) - 可能有数十万个点。看来,要正确绘制某些东西,我可以使用它的唯一方法是按它们之间的距离对其进行排序。
[我在片场使用了 CCL 和凸包,但结果仍然是大量紧密的散列 - 或者如果我之后按中心的角度、斜率或其他东西对它们进行排序,则可以得到很好的辐射线]
有没有办法按连续点之间的距离对点列表进行排序?
我用过
Dim orderedByX As List(Of Point) = listOfPoints.OrderBy(Function(pt) pt.X).ToList()
【问题讨论】:
-
你有所有点对之间的距离吗?
-
我有一个点列表,所有点都是不同的。
-
你到底想做什么?从无序点列表重建一个非凸多边形??
-
将点列表转换为线列表,然后按线距离排序不是更有意义吗?
-
在我看来,如果您应用凸包算法,您应该将点列表(构成凸包的点)保存在有序列表中。如果您在显示凸包时遇到问题,那么您的问题在于从纬度/经度到像素的转换。
标签: vb.net algorithm sorting distance point