정렬한 뒤 경계를 만들기
가장 아래쪽에 있는 점 등을 기준점으로 정하고 다른 점을 그 점에서 바라본 방향의 순서로 정렬한다. 같은 방향에 있는 점은 거리와 경계 포함 정책을 함께 처리해야 한다. 단순히 x좌표만 정렬하는 다른 방법과 순서를 혼동해서는 안 된다.
회전 방향과 스택
정렬된 점을 차례로 보면서 스택의 마지막 두 점과 새 점이 만드는 회전 방향을 검사한다. 진행하려는 볼록한 경계에 맞지 않는 꺾임이 생기면 마지막 점을 제거하고 다시 검사한다. 새 점을 추가하는 것뿐 아니라 이전 후보를 되돌리는 과정이 핵심이다.
정렬 이후의 계산량
각 점은 스택에 한 번 들어가고 많아야 한 번 빠진다. 따라서 정렬을 마친 뒤 스캔에 필요한 총 작업은 선형이다. 일반적인 비교 정렬의 O(n log n)이 전체 시간의 기준이 된다.
같은 점과 일직선의 처리
중복 좌표와 같은 방향의 점, 모든 점이 일직선인 경우를 별도로 고려해야 한다. 최소 꼭짓점만 반환할지 경계 위의 모든 입력점을 포함할지에 따라 0인 회전 판정의 처리도 달라진다. 반환된 경계 꼭짓점 목록과 내부를 포함한 볼록 껍질이라는 집합은 구분할 수 있다.