1. 程式人生 > >標籤雲 tagCloud 簡單實現原理(還算好看)

標籤雲 tagCloud 簡單實現原理(還算好看)

實現原理很簡單,可做優化。

原理就是在一個區域內放第一個字(矩形),然後記錄他的4個點(左上左下右上右下),入佇列,,然後放下一個的時候,在佇列取出一個點,然後第二個矩形根據這個點就有4種擺法,有些擺法可能不行,

如圖,第一個擺的有4個點,取出一個點,如左上,然後有4種擺法,圖中給出三種,第4種和第一個擺的重合了所以不行,擺完第二個之後第二個的4個點入佇列。

之後根據佇列裡面的點依次擺矩形,擺的過程判斷下跟之前的擺的是否重合(這點最費時)。

根據入佇列的點來擺的好處就是擺完後所有字它會圍繞著第一個擺的擴散出去。

效果圖:



程式碼就不貼了,,重要的是這個思路~~~~