graham扫描算法求凸包的c++源程序
Graham扫描算法 : 大体思路是将不是凸包顶点的点从点集中去掉。 找出S中具有最小y坐标的点p(通过选取最左边的点打破平局) 根据点和p的连线 与 x轴正方向所成的角度,对S中的点进行排序(由小到大),并将p放在最前面。 从p点开始扫描排序后的S集合。如果这些点都在凸包上,则每三个相继的点p1,p2,p3满足以下性质:p3在向量<p1,p2>的左边.如果出现相继的三个点p1,p2,p3不满足上述性质,则p2点一定不是凸包的顶点,应立即去除。
5
488
3KB
2011-05-17
42