如何获得矩形周围的最小长度电路?

时间:2012-11-06 17:50:33

标签: graph

在上一次比赛中,我被赋予了一系列建筑物,我需要在这些建筑物周围创建最小长度的围栏。栅栏可能触及建筑物的角落,墙壁,但可能无法通过建筑物,所有建筑物都必须位于一个区域内。

我知道我需要建立围栏多边形边缘的角落。但我不知道如何为计算机编写它

1 个答案:

答案 0 :(得分:1)

一个普通的凸面船体将是你的最小长度的围栏。只需采用一组描述建筑物角落的点(假设您的建筑物是多边形),并在这些点周围建造一个凸包。

对于一组点,

Convex hull是一个经典的,基本的,研究得很好的计算几何问题。

http://en.wikipedia.org/wiki/Convex_hull_algorithms

Gift wrapping算法非常易于理解和实现。