今天下午在论坛上晃悠时,发现一篇帖子是关于凸包是,即怎样用最短的绳子圈起所有的柱子。
本来对算法的兴趣并不是很高,从小到大就是一个数学白痴,虽然大学选了计算机专业,但也并未因此有任何改观。
这都是废话,接下来说我的想法,也不知道别人的怎样想的。
1. 求这些点的极左,极右,极上,极下点。当然,可能得到三种情况,两个点,3个点,四个点。然后求所构图形的中点N。
2. 将线列出,这时有一个点,n条线。逐线循环。
3. 旋转坐标的x轴与线平行,然后看远离N的线的一侧上是否还有点,如果有,求最远点再次连接成线,如果循环。
4. 当循环完毕时,就可以得到一个最小凸包了。
呵呵,只是这么想的,没有经过验证。也没有时间去写一个算法进行验证。