我有一個矩形和一個參考矩形的集合。我想知道參考矩形是否被它上面的矩形(集合中的所有矩形)完全遮住了。例如:找出矩形是否被上面的矩形遮擋了?
http://i54.tinypic.com/246w57l.png
顯而易見的解決方案是創建的bool或位圖的矩陣和簡單的blit所有的矩形,並檢查是否有任何不是蓋的,但是這不是一個選項。這必須每秒完成很多次。
我想出了這個主意:爲每一個矩形,它相交與其他所有的矩形(和它們限制在參照矩形),從而產生更小的矩形不相交的集合,像這樣: http://i54.tinypic.com/s1j30h.png
然後簡單地增加他們的所有領域,並從基準矩形的面積中減去。不過,我不確定如何做到最好。歡迎任何其他想法,建議或例子。
謝謝。
所有的矩形是否總是與x軸和y軸對齊?另請參閱SO上的[本問答](http://stackoverflow.com/questions/4397226/algorithm-required-to-determine-if-a-rectangle-is-completely-covered-by-another-s)。 – 2011-02-17 11:31:28
是的,永遠。謝謝!請提交它作爲答案。 – fingerprint211b 2011-02-17 12:18:48