# 2次元点群PointGroup pg
giftWrapping(pg):
head ← pg.pointsの最も左の点の番号
f ← head # 最終点をメモ
while True:
t ← pg.pointsの中で点headを起点として最も反時計回りの位置にある点の番号
点tを凸法に追加する
head ← t;
if head = f:
break # 始点に戻ってきたら終了