볼록 껍질은 2차원 상에 점들이 여러 개 있을 때 그것들 중 일부를 선택하여 나머지 점들을 모두 포함하는 볼록 다각형이다. 볼록 껍질을 구하는 방법은 여러 가지가 있지만 주로 O(NlogN)의 시간복잡도를 가지는 그라함 스캔(Graham's scan) 알고리즘을 사용한다. 다음과 같이 점들이 있다고 하자. 시작할 때 보통 가장 밑에 있는 점을 시작점으로 한다. 그러한 점이 여러 개 있을 때 가장 왼쪽의 점을 선택한다. 선택한 점부터 시작하여 반시계 방향으로 진행한다. (시계 방향도 가능함) 먼저 시작점으로부터 반시계방향으로 나머지 점들을 정렬해 준다. 스택에서 점들을 관리하여 Convex Hull를 만들어 줄 것이다. 스택의 최상단 점을 B, 그다음의 점을 A라고 하자. 벡터 AB에 대해 순회할 차례의 ..