包含点的区域?

时间:2009-03-07 23:35:32

标签: algorithm

有谁知道这是否有算法?我有几个2D点。我需要找到一个点列表,当你从点n到点n + 1绘制一条线时,你最终得到一个包含所有点的区域。如果我能附上图像,我可以更好地解释自己。提前谢谢。

3 个答案:

答案 0 :(得分:7)

您正在寻找的可能是凸包。维基百科有一个picture。有几个algorithms来计算凸包。 Graham scan可能在性能和易于实现之间提供最佳平衡。

答案 1 :(得分:3)

你要求的声音就像所谓的凸壳。 Google提供大量信息。

如果点不必是集合的成员,只需找到边界框。

如果集合不必是凸起的,只需找到云的质心,在此周围排序点(比如顺时针),你就会得到一颗不规则的星。

答案 2 :(得分:0)

如果您使用C / C ++进行编码(或理解它们),这是geometry algorithms的绝佳来源 - 包括来源和解释。