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