Minimum dikdörtgenler ile basit bir içbükey çokgen kapsayacak çalışıyorum. Dikdörtgenlerim herhangi bir uzunlukta olabilir, ancak maksimum genişliklere sahiptir ve çokgenin asla keskin bir açısı olmayacaktır.
İçbükey poligonumu, her bir üçgeni minimal olarak sınırlayan ve daha sonra bu dikdörtgenleri daha büyük olanlarla birleştiren minimum örtüşen dikdörtgenler kümesi oluşturan üçgenlere ayırmaya çalışmayı düşündüm. Ancak, bunun çokgenin kenarlarındaki küçük çentikler için işe yarayacağını sanmıyorum. Bu çentiklerde refleks köşeleri tarafından oluşturulan üçgenler yanlış dikdörtgenler oluşturur. Çentikleri açıklayan / yok sayan dikdörtgenler arıyorum.
Hesaplamalı geometri hakkında hiçbir şey bilmiyorum, bu yüzden soruyu nasıl sormaya başlayacağımdan gerçekten emin değilim.
Benzer olan diğer yayınları buldum, ancak ihtiyacım olan şey değil:
- çokgeni minimum dikdörtgen ve üçgen miktarına bölme
- Minimum sayıda kare ile keyfi bir çokgeni kaplama
- dikdörtgenini bulun, böylece maksimum nokta sayısını kaplar
- Bir dizi dikdörtgeni kapsayacak en az dikdörtgeni bulmak için algoritma
Bazı örnekler: Girdi siyah. Kırmızı, kabul edilebilir çıktıdır.
Başka bir örnek: İkinci çıktı tercih edilir. Bununla birlikte, her iki çıktıyı üretmek ve tercihi belirlemek için başka bir faktör kullanmak muhtemelen bu algoritmanın sorumluluğunda değildir.
Eğrileri taklit eden çokgenler oldukça nadirdir. Bu senaryoda, dikdörtgen alanlarının çoğu boşa gider. Bununla birlikte, bu kabul edilebilir çünkü her dikdörtgen maksimum genişlik sınırlamasına uyar.
Ayrıca, bu makaleyi ihtiyacım olanlara yakın buldum:
- Paul Iacob, Daniela Marinescu ve Cristina Luca'nın dikdörtgen parçalarıyla kaplama
Belki daha iyi bir soru "Bir içbükey çokgenin dikdörtgen benzeri kısımlarını nasıl belirleyebilirim?"
İşte istenen uygulamayı gösteren bir resim:
Yeşil, gerçek malzeme kullanımıdır. Kırmızı dikdörtgenler düzenlerdir. Mavi, tüm çokgenin MBR'sidir. Küçük MBR'leri alıp doldurmaya çalışmam gerektiğini düşünüyorum. Sol üst köşede çokgenin ortasına doğru giden 2-3 yeşil dikdörtgen pahalı. Bunu en aza indirmek istiyorum. Yeşil dikdörtgenler minimum ve maksimum genişlik ve yüksekliğe sahiptir, ancak bir bölgeyi kapsayacak kadar çok satır ve sütun kullanabilirim. Yine, girdiye yayılmayan dikdörtgen sayısını en aza indirmeliyim. Yeşil dikdörtgenin şeklini de çok pahalı olan küçük yerlere uyacak şekilde değiştirebilirim. Başka bir deyişle, mümkün olduğunca çok sayıda dikdörtgen elde etmek idealdir.