รูปหลายเหลี่ยมที่แย่ลงคืออะไร? หนึ่งจะตรวจสอบได้อย่างไรว่ารูปหลายเหลี่ยมคู่หนึ่งที่ให้นั้นเสื่อมลงหรือไม่?
รูปหลายเหลี่ยมที่แย่ลงคืออะไร? หนึ่งจะตรวจสอบได้อย่างไรว่ารูปหลายเหลี่ยมคู่หนึ่งที่ให้นั้นเสื่อมลงหรือไม่?
คำตอบ:
รูปหลายเหลี่ยมจะเสื่อมสภาพถ้าจุดยอดของมันอยู่ติดกัน เช่นสามเหลี่ยม (0,0), (0,1), (0,0) เสื่อมสภาพ มันมี 3 ด้านและ 3 จุดยอด แต่จุดยอดสองจุดซ้ำ เป็นไปได้ที่จะทำซ้ำจุดสุดยอดหลาย ๆ ครั้ง (เช่น (0,0), (0,0), (0,0) เป็นรูปสามเหลี่ยมอีกรูปแบบหนึ่ง ตามคำจำกัดความการตรวจสอบว่ารูปหลายเหลี่ยมเสื่อมหรือไม่เป็นเรื่องง่าย
แต่อะไรคือประโยชน์ของรูปหลายเหลี่ยมที่เสื่อม แอปพลิเคชันหนึ่งจากการเร่งความเร็วกราฟิก (การวาดภาพ 3 มิติ) มีดังนี้:
โดยปกติแล้วในการวาดภาพสามมิติ GPUs ใช้สมการในการแสดงภาพ เหตุผล (ง่าย) สำหรับการใช้สามเหลี่ยมเป็นเพราะวัตถุสองมิติที่เป็นไปได้ง่ายที่สุดจึงไม่ต้องการฮาร์ดแวร์มาก
หากเราต้องการวาดภาพ 3 มิติที่ซับซ้อนด้วยข้อ จำกัด ของ GPU นี้เราต้องแยกย่อยมันออกเป็นหลายสามเหลี่ยม แต่ถ้าเราเรียก GPU เพื่อให้แต่ละสามเหลี่ยมแยกกันมันจะช้ามาก (เพราะจำนวนการโทร) ดังนั้นแถบสามเหลี่ยมจึงถูกใช้เพื่อลดจำนวนการโทรไปยัง GPU คำอธิบายที่ดีของแถบสามเหลี่ยมสามารถพบได้บนMicrosoft เอกสารอ้างอิง: สามเหลี่ยม Stripsคุณยังสามารถดูวิกิพีเดียสำหรับ: สามเหลี่ยม Strip
แต่ปัญหาเกิดขึ้นเมื่อเราต้องการวาดวัตถุสองแยกในหนึ่งแถบ ในกรณีนี้ช่วยให้สามเหลี่ยมสามเหลี่ยมเสื่อม GPU สามารถตรวจจับสามเหลี่ยมที่เสื่อมสภาพและข้ามรูปวาดของพวกเขา ดังนั้นเราจึงสามารถเชื่อมต่อสองแถบแยกกับสามเหลี่ยมหนึ่งเสื่อม
โดยทั่วไปถ้าเรามี ส่วนประกอบต่าง ๆ เช่นที่เรามีแถบสามเหลี่ยมที่สอดคล้องกันแล้วเราสามารถดึงพวกมันทั้งหมดได้ด้วยการเรียกเพียงครั้งเดียวไปยัง GPU สิ่งนี้ทำให้เกิดการใช้หน่วยความจำเพิ่มเติม แต่เป็นการแลกเปลี่ยนระหว่างจำนวนการโทรไปยัง GPU เพื่อแสดงผลและค่าใช้จ่ายในการใช้รูปสามเหลี่ยมพิเศษที่ลดลง
รูปหลายเหลี่ยมที่เสื่อมโทรมเป็นรูปที่มีพื้นที่ศูนย์
ดังที่คนอื่น ๆ ได้สังเกตมันขึ้นอยู่กับ โดยทั่วไปการพูดรูปหลายเหลี่ยมนั้นไม่เสื่อมถ้ามันไม่มีจุดผิดปกติ แต่สิ่งนี้จะผลักปัญหากลับไปหนึ่งขั้น "ผิดปกติ" คืออะไร?
คำตอบที่แท้จริงคือรูปหลายเหลี่ยมลดลงหากละเมิดข้อกำหนด คำตอบที่หยาบคายเล็กน้อยคือรูปหลายเหลี่ยมนั้นเสื่อมถ้าเป็นกรณีขอบซึ่งอัลกอริทึมของคุณไม่สามารถจัดการได้
นี่คือตัวอย่างจากโลกของ GIS ง่าย OGC คุณสมบัติข้อมูลจำเพาะมีความหมายที่ระมัดระวังมากของสิ่งที่ทำให้รูปหลายเหลี่ยม "ถูกต้อง" การอ้างอิงจากส่วน 6.1.11.1:
คำยืนยันสำหรับรูปหลายเหลี่ยม (กฎที่กำหนดรูปหลายเหลี่ยมที่ถูกต้อง) มีดังนี้:
a) รูปหลายเหลี่ยมถูกปิดทอพอโลยี;
b) ขอบเขตของรูปหลายเหลี่ยมประกอบด้วยชุดของ LinearRings ที่ประกอบขึ้นเป็นขอบเขตภายนอกและภายใน
c) ไม่มีวงสองวงในการข้ามเขตแดนและวงในขอบเขตของรูปหลายเหลี่ยมอาจตัดกันที่จุด แต่เป็นแทนเจนต์เท่านั้นเช่น
;หมายเหตุ: เงื่อนไขสุดท้ายนี้บอกว่า ณ จุดหนึ่งที่เป็นจุดร่วมระหว่างสองเส้นโค้งจุดที่อยู่ใกล้เคียงไม่สามารถใช้ร่วมกันได้ สิ่งนี้บังคับให้จุดร่วมแต่ละจุดเป็นจุดสัมผัส
d) รูปหลายเหลี่ยมอาจไม่มีเส้นตัดแหลมหรือ punctures เช่น: ;
e) การตกแต่งภายในของรูปหลายเหลี่ยมทุกชุดเป็นจุดเชื่อมต่อ
f) รูปด้านนอกของรูปหลายเหลี่ยมที่มี 1 รูขึ้นไปไม่ได้เชื่อมต่อ แต่ละหลุมกำหนดองค์ประกอบที่เชื่อมต่อของภายนอก
ในการยืนยันข้างต้นการตกแต่งภายในการปิดและภายนอกมีข้อกำหนดด้านทอพอโลยีมาตรฐาน การรวมกันของ (a) และ (c) ทำให้รูปหลายเหลี่ยมเป็นชุดจุดปิดปกติ