我試圖在網格中佈置圖像,其中一些特徵的圖像是4x大。 我相信這是一個衆所周知的佈局算法,但我不知道它叫什麼。以網格狀方式佈置不同大小的圖像的算法
我在尋找的效果與下面顯示的屏幕截圖類似。任何人都可以將我指向正確的方向嗎?
UPDATED 更具體地說,我們將其限制爲只有示例中顯示的兩種尺寸的情況。可以有無數的項目,它們之間有一個設定的餘量。希望澄清事情。
我試圖在網格中佈置圖像,其中一些特徵的圖像是4x大。 我相信這是一個衆所周知的佈局算法,但我不知道它叫什麼。以網格狀方式佈置不同大小的圖像的算法
我在尋找的效果與下面顯示的屏幕截圖類似。任何人都可以將我指向正確的方向嗎?
UPDATED 更具體地說,我們將其限制爲只有示例中顯示的兩種尺寸的情況。可以有無數的項目,它們之間有一個設定的餘量。希望澄清事情。
這個問題可以用熱圖或樹形圖來解決。熱點地圖通常使用空間填充曲線。熱圖將2d複雜度降低到1d複雜度。熱圖看起來像四叉樹。你想尋找尼克的希爾伯特曲線四叉樹空間索引博客。
有一個叫treemapping知名佈局算法,這也許是你的一些圖片是4倍大特定問題有點過於普通,但仍然可以適用特別是如果你決定具有任意大小。
有幾種不同的矩形樹圖算法,其中的任何一種都可以用來可視化照片。 Here is a nice example,它使用條帶算法來繪製與照片的評分成比例的每個尺寸的照片。
它們都是像圖片一樣的基礎大小的倍數,還是圖像大小可以是任意的? –
如果尺寸是任意的,這聽起來很類似於NP-hard的二維裝箱問題。谷歌的一些近似算法,但。 [鏈接](http://en.wikipedia.org/wiki/Bin_packing_problem) – tskuzzy
如果你有任意數量的圖像,並且它們都是相同大小的倍數,那麼一個簡單的貪婪算法就可以工作。只需將每個圖像放置在下一個可用插槽中,即可獲得沒有漸進式浪費空間的佈局。當然,這個問題寫的可能太模糊,無法明確地回答。您需要對每幅圖像的大小,圖像數量,所需的間距和顯示窗口的大小進行一些說明。在添加這些信息之後,您需要說出您想要優化的內容。不知道你想要什麼,這是不適當的。 – Mikola