2011-02-12 46 views
1

我有一個(不一定是凸的)多邊形。我想找到一組佔據世界範圍((0,0)到(100,100))所有空間的矩形,而不佔用多邊形內的任何空間。找到這些多邊形最簡單的方法是什麼?有這種事情的算法嗎?將多邊形分解爲「內部」和「外部」

謝謝!

例如,多邊形

__ __ 
| |__| | 
|________| 

可能被打破在以下五個矩形:

aaabbbbbbbbbbeee 
aaa| |cc| |eee 
aaa|________|eee 
aaaddddddddddeee 

,或者,以下六個矩形:

aaaaaaabbccccccc 
eee| |bb| |ddd 
eee|________|ddd 
ffffffffffffffff 

是有一種簡單的方法將多邊形分解爲多邊形和世界邊界之間的矩形?

+0

你可能想看看在這個問題上並編輯了一點 - 現在它沒有多大意義。 – Beta 2011-02-12 22:22:29

回答

0

我可以蒐集的所有信息:這是可能的,但不切實際(特別是如果你的多邊形有斜線)。我不需要這個回答任何更多的,但我想,該算法將類似於以下內容:

  • 使用三角形進行垂直或水平
  • 使用四個矩形切多邊形的所有邊緣出盡可能多的空間,你可以在上/下/左/右
    • 現在你留下了一個只有垂直/水平邊緣,延伸到每一個邊境
  • 貪婪地放置多邊形最大的矩形,你可以在最大的洞裏S IN造型
    • 查找雙方之間的最大差距
  • 填寫步驟1中的三角形到一個終端精密