ฉันกำลังพยายามที่จะครอบคลุมรูปหลายเหลี่ยมเว้าอย่างง่ายที่มีสี่เหลี่ยมขั้นต่ำ สี่เหลี่ยมมุมฉากของฉันมีความยาวเท่าใดก็ได้ แต่มีความกว้างสูงสุดและรูปหลายเหลี่ยมจะไม่มีมุมแหลม
ฉันคิดเกี่ยวกับการพยายามที่จะสลายรูปหลายเหลี่ยมเว้าของฉันเป็นรูปสามเหลี่ยมที่สร้างชุดของรูปสี่เหลี่ยมผืนผ้าที่เหลื่อมกันน้อยที่สุด จำกัด ขอบเขตแต่ละสามเหลี่ยมให้น้อยที่สุดแล้วผสานรูปสี่เหลี่ยมเหล่านั้นเป็นรูปที่ใหญ่กว่า อย่างไรก็ตามฉันไม่คิดว่ามันจะใช้งานได้กับรอยหยักขนาดเล็กในขอบของรูปหลายเหลี่ยม สามเหลี่ยมที่สร้างขึ้นโดยจุดสะท้อนกลับบนรอยหยักเหล่านั้นจะสร้างสี่เหลี่ยมที่ไม่ถูกต้อง ฉันกำลังมองหารูปสี่เหลี่ยมผืนผ้าที่จะขยาย / ละเว้นรอยหยัก
ฉันไม่รู้อะไรเลยเกี่ยวกับเรขาคณิตของการคำนวณดังนั้นฉันจึงไม่แน่ใจว่าจะเริ่มถามคำถามได้อย่างไร
ฉันพบโพสต์อื่นที่คล้ายกัน แต่ไม่ใช่สิ่งที่ฉันต้องการ:
- แบ่งรูปหลายเหลี่ยมออกเป็นจำนวนขั้นต่ำของรูปสามเหลี่ยมและรูปสามเหลี่ยม
- ครอบคลุมรูปหลายเหลี่ยมโดยพลการด้วยจำนวนสี่เหลี่ยมน้อยที่สุด
- ค้นหารูปสี่เหลี่ยมเพื่อให้ครอบคลุมจำนวนคะแนนสูงสุด
- อัลกอริทึมสำหรับการค้นหาสี่เหลี่ยมน้อยที่สุดเพื่อครอบคลุมชุดสี่เหลี่ยม
ตัวอย่างบางส่วน: สีดำคืออินพุต สีแดงเป็นผลลัพธ์ที่ยอมรับได้
Exmaple อื่น: ต้องการผลลัพธ์ที่สอง อย่างไรก็ตามการสร้างเอาต์พุตและใช้ปัจจัยอื่นเพื่อพิจารณาว่าการกำหนดค่าตามความชอบอาจจำเป็นและไม่ใช่ความรับผิดชอบของอัลกอริทึมนี้
รูปหลายเหลี่ยมที่เลียนแบบโค้งนั้นหายากมาก ในสถานการณ์สมมตินี้พื้นที่ส่วนใหญ่ของสี่เหลี่ยมมุมฉากสูญเปล่า อย่างไรก็ตามนี่เป็นสิ่งที่ยอมรับได้เพราะแต่ละสี่เหลี่ยมผืนผ้าจะปฏิบัติตามข้อ จำกัด ความกว้างสูงสุด
นอกจากนี้ฉันพบว่าบทความนี้ใกล้เคียงกับสิ่งที่ฉันต้องการ:
- ครอบคลุมชิ้นสี่เหลี่ยมโดย Paul Iacob, Daniela Marinescu และ Cristina Luca
อาจเป็นคำถามที่ดีกว่าคือ "ฉันจะระบุส่วนที่เป็นรูปหลายเหลี่ยมของรูปหลายเหลี่ยมเว้าได้อย่างไร"
นี่คือภาพแสดงการใช้งานที่ต้องการ:
สีเขียวคือการใช้วัสดุจริง สี่เหลี่ยมสีแดงเป็นโครงร่าง สีน้ำเงินคือ MBR ของรูปหลายเหลี่ยมทั้งหมด ฉันคิดว่าฉันควรพยายามที่จะรับ MBR น้อยและกรอกพวกเขาสี่เหลี่ยมสีเขียว 2-3 อันที่มุมซ้ายบนที่สิ้นสุดลงตรงกลางของรูปหลายเหลี่ยมนั้นมีราคาแพง นั่นคือสิ่งที่ฉันต้องการลด สี่เหลี่ยมสีเขียวมีความกว้างและความสูงขั้นต่ำสุดและสูงสุด แต่ฉันสามารถใช้แถวและคอลัมน์จำนวนมากเพื่อให้ครอบคลุมพื้นที่ได้ อีกครั้งฉันจะต้องลดจำนวนของรูปสี่เหลี่ยมผืนผ้าที่ไม่ได้ข้ามการป้อนข้อมูล ฉันยังสามารถปรับเปลี่ยนรูปร่างของสี่เหลี่ยมสีเขียวเพื่อให้พอดีกับสถานที่เล็ก ๆ ที่มีราคาแพงมาก กล่าวอีกนัยหนึ่งการได้รับสี่เหลี่ยมมากที่สุดเท่าที่จะทำได้เพื่อขยายให้มากที่สุดนั้นเหมาะสมที่สุด