อ่าน 1 นาที
เครื่องตัดโพลีกอนทั่วไป
โปรแกรม General Polygon Clipper ( GPC ) เป็นไลบรารีซอฟต์แวร์ที่ใช้คำนวณผลลัพธ์ของการตัดกลุ่ม รูปหลายเหลี่ยม โดยเป็นการขยาย ปัญหาการตัด กลุ่มรูปหลายเหลี่ยมใน...
เครื่องตัดโพลีกอนทั่วไป
โปรแกรมGeneral Polygon Clipper ( GPC ) เป็นไลบรารีซอฟต์แวร์ที่ใช้คำนวณผลลัพธ์ของการตัดกลุ่มรูปหลายเหลี่ยม โดยเป็นการขยาย ปัญหาการตัด กลุ่มรูปหลายเหลี่ยมใน กราฟิกคอมพิวเตอร์เวอร์ชันแรกของ GPC ถูกออกแบบและพัฒนาขึ้นในปี 1997 โดย Alan Murta และเวอร์ชันสุดท้าย ณ เดือนสิงหาคม 2009 คือเวอร์ชัน 2.32 ไลบรารีหลักของ GPC เขียนด้วยภาษาโปรแกรม Cแต่ก็มีการดัดแปลงให้สามารถใช้งานร่วมกับภาษาอื่นๆ ได้อีกด้วย
ความพร้อมใช้งาน
ตั้งแต่เดือนสิงหาคม 2020 เป็นต้นมา GPC ไม่ได้รับการเผยแพร่อย่างเป็นทางการจากผู้เขียนอีกต่อไป
ในเดือนธันวาคม 2021 สำเนารหัส GPC (v2.33) ถูกนำไปไว้บนGitHubภายใต้ใบอนุญาต MITโดยRick Brewster ผู้เขียนPaint.NET [ 1 ]
การออกใบอนุญาต
นักพัฒนาสามารถใช้ GPC เพื่อวัตถุประสงค์ใดก็ได้โดยไม่มีข้อจำกัดด้านลิขสิทธิ์ที่ต้องเสียค่าใช้จ่าย
คุณสมบัติของ GPC
ต่อไปนี้เป็นการสรุปคุณสมบัติและการดำเนินการกับรูปหลายเหลี่ยมที่รองรับโดย GPC
GPC สามารถคำนวณการดำเนินการตัดข้อมูลต่อไปนี้ได้: ผล ต่าง , จุดตัด , เอกซ์คลูซีฟออร์และยูเนียน
รูปหลายเหลี่ยมอาจประกอบด้วยเส้นขอบหลายเส้นที่ไม่ทับซ้อนกัน จุดยอดของเส้นขอบอาจระบุเป็นทิศทางตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา เส้นขอบอาจเป็นนูน เว้า หรือตัดกันเอง เส้นขอบอาจซ้อนกันได้ กล่าวคือ รูปหลายเหลี่ยมอาจมีรูได้
ผลลัพธ์จากการตัดด้วย GPC คือชุดของเส้นขอบรูปหลายเหลี่ยมหรือแถบสามเหลี่ยม GPC จะแยกแยะรูและเส้นขอบภายนอกออกจากกันในผลลัพธ์ และจัดการกับขอบที่ทับซ้อนกันและบริเวณที่ผิดปกติได้อย่างถูกต้อง
ตัวอย่างการดำเนินการ GPC บนเซตของรูปหลายเหลี่ยม
ภาพทั้งสี่ภาพต่อไปนี้แสดงตัวอย่างการคำนวณ GPC ระหว่างชุดรูปหลายเหลี่ยมสองชุด ชุดรูปหลายเหลี่ยมชุดแรกประกอบด้วยโครงร่างของสหราชอาณาจักรและไอร์แลนด์ ชุดรูปหลายเหลี่ยมชุดที่สองประกอบด้วยลูกศรขนาดใหญ่สี่ลูกที่ชี้เข้าด้านใน ในแต่ละตัวอย่าง พื้นที่ที่ได้จากการดำเนินการ GPC ระหว่างชุดรูปหลายเหลี่ยมทั้งสองชุดจะถูกแสดงด้วยสี
ตัวอย่างนี้แสดงให้เห็นถึงความแตกต่างระหว่างชุดข้อมูลทั้งสอง:

ตัวอย่างนี้แสดงส่วนที่ทับซ้อนกันระหว่างเซตทั้งสอง:

ตัวอย่างนี้แสดงการรวมกันระหว่างเซตทั้งสอง:

ตัวอย่างนี้แสดงการดำเนินการ Exclusive-ORระหว่างสองเซต:

พอร์ตและการเชื่อมโยงภาษา
โค้ดหลักของ GPC เขียนด้วยภาษาCแต่ชุมชนผู้ใช้ GPC ได้ร่วมกันสร้างพอร์ตและส่วนเชื่อมต่อ (หรือตัวห่อหุ้ม) สำหรับภาษาอื่นๆ อีกมากมาย ( ActionScript 3 , Borland Delphi , C# , GNU Octave , Haxe , Haskell , Java , Lua , Pascal , Perl , Python , VB.Net ) พอร์ตและส่วนเชื่อมต่อเหล่านี้ทั้งหมดสามารถใช้งานได้ฟรี
ลิงก์ภายนอก
- เวอร์ชัน Java ที่ได้รับการดูแลรักษา
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เครื่องตัดโพลีกอนทั่วไป
โปรแกรม General Polygon Clipper ( GPC ) เป็นไลบรารีซอฟต์แวร์ที่ใช้คำนวณผลลัพธ์ของการตัดกลุ่ม รูปหลายเหลี่ยม โดยเป็นการขยาย ปัญหาการตัด กลุ่มรูปหลายเหลี่ยมใน...
ความพร้อมใช้งาน
ตั้งแต่เดือนสิงหาคม 2020 เป็นต้นมา GPC ไม่ได้รับการเผยแพร่อย่างเป็นทางการจากผู้เขียนอีกต่อไป
การออกใบอนุญาต
นักพัฒนาสามารถใช้ GPC เพื่อวัตถุประสงค์ใดก็ได้โดยไม่มีข้อจำกัดด้านลิขสิทธิ์ที่ต้องเสียค่าใช้จ่าย
คุณสมบัติของ GPC
ต่อไปนี้เป็นการสรุปคุณสมบัติและการดำเนินการกับรูปหลายเหลี่ยมที่รองรับโดย GPC