JavaScript を使用してタグ クラウドを作成しています。「タグ」の順序付けられていないリストを取得し、div の中心点からランダムに配布します (ガウス分布)。
私が抱えている問題は、タグが重複しているかどうかを判断するための効率的な指標を見つけることです。
最終的に私は2つのアプローチを思い付きました:
(1) すでに配置されているタグの位置を考慮して、各タグを配置します。(これをどのように行うかは正確にはわかりませんが、とにかく最もエレガントなソリューションとは思えないので、何でも)。
(2) 各アイテムの絶対位置 (上/左) と幅と高さを配列に格納し、位置をランダムに生成します。オーバーラップをチェックし、それに応じて位置を配置するか、ランダムに再生成します。
これはゲーム開発ではよくある問題のように聞こえるので、投稿して誰かがベスト プラクティス アプローチを知っているかどうかを確認することにしました。
編集:今、私は各リスト項目の中心点と任意のコーナーまでの距離を決定し、2 つの中心点間の距離を比較するという考えをいじっています。ただし、さらにアドバイスをいただければ幸いです。