แต่ละบรรทัดควรแบ่งระนาบเป็น "ภายใน" และ "เค้าร่าง"; คุณสามารถค้นหาสิ่งนี้ได้โดยใช้วิธีการภายในผลิตภัณฑ์ตามปกติ
ย้ายทุกเส้นออกไปด้านนอกด้วยระยะทาง
พิจารณาคู่สายเพื่อนบ้านทั้งหมด (เส้นไม่ใช่ส่วนของเส้นตรง) ค้นหาจุดตัด นี่คือจุดสุดยอดใหม่
ทำความสะอาดจุดสุดยอดใหม่โดยการลบส่วนใด ๆ ที่ตัดกัน - เรามีบางกรณีที่นี่
(a) กรณีที่ 1:
0--7 4--3
| | | |
| 6--5 |
| |
1--------2
ถ้าคุณใช้มันไปคุณจะได้:
0----a----3
| | |
| | |
| b |
| |
| |
1---------2
7 และ 4 ทับซ้อน .. ถ้าคุณเห็นสิ่งนี้คุณลบจุดนี้และจุดทั้งหมดในระหว่าง
(b) กรณีที่ 2
0--7 4--3
| | | |
| 6--5 |
| |
1--------2
หากคุณใช้จ่ายสองเท่าคุณจะได้รับ:
0----47----3
| || |
| || |
| || |
| 56 |
| |
| |
| |
1----------2
ในการแก้ไขปัญหานี้สำหรับแต่ละส่วนของบรรทัดคุณต้องตรวจสอบว่ามันทับซ้อนกับส่วนหลังหรือไม่
(c) กรณีที่ 3
4--3
0--X9 | |
| 78 | |
| 6--5 |
| |
1--------2
ใช้จ่ายโดย 1. นี่เป็นกรณีทั่วไปมากขึ้นสำหรับกรณีที่ 1
(d) กรณีที่ 4
เช่นเดียวกับ case3 แต่ใช้จ่ายด้วยสอง
ที่จริงแล้วถ้าคุณสามารถจัดการเคส 4 เคสอื่น ๆ ทั้งหมดเป็นเคสพิเศษของมันที่มีเส้นหรือจุดยอดทับซ้อนกัน
ในการทำกรณีที่ 4 คุณจะเก็บยอดจุดยอด .. คุณกดเมื่อคุณพบบรรทัดที่ทับซ้อนกับบรรทัดหลังให้ป๊อปอัปเมื่อคุณได้รับบรรทัดหลัง - เช่นเดียวกับสิ่งที่คุณทำในนูน - ฮัลล์