首先明确凸包的概念。
定义:一个点集合S的凸包(convex hull)是包含S的最小凸集合(“最小”是指:S的凸包一定是所有包含S的凸集合的子集)
用形象一点的话比喻就是:若干钉子钉在一个面上,用一条橡皮筋把所有的钉子都圈住。凸包就是以橡皮筋为边界的区域。
凸包问题:在n个点的集合中,寻找出某些点,它们是这个集合凸多边形的顶点。
蛮力法算法思路:对于一个n个点集合中的两点pi和pj,当且仅当该集合中的其它点都位于穿过pi和pj所构成直线的同一边,很明显,其它点之间的连线是该集合凸包边界的一部分。对每一对点都做一遍检查后,满足条件的线段构成了该凸包的边界。
根据中学的几何知识: