0

2D空間に配置したい長方形の要素がいくつかあります。各要素の理想的な位置を計算します。今私の問題は、理想的な位置が1つの領域に集中していることが非常に多いため、多くの要素が重複していることです。オーバーラップはできるだけ避けたいです(ただし、完璧である必要はありません)。これどうやってするの?

物理シミュレーションがこれに適していると聞きましたが、それは正しいですか?そして、誰かが例/チュートリアルを提供できますか?

ちなみに、私はXNAを使用しています。この仕事を正確に実行する.NETライブラリを知っている場合は、教えてください。

4

3 に答える 3

2

物理エンジンを使用できる1つの方法:

各長方形に正の電荷(またはある種の反発力)を加え、力と動きをシミュレートします。また、Eyalは親切にも指摘してくれたので、それらが漂流するのを防ぐためにいくつかの魅力的な力も必要です。これはばねでモデル化できます(これもEyalが指摘しているように)。それらは、重なり合わない長方形を含む可能性のある、ある種の平衡状態になることを願っています。

グラフ(ノードとエッジの1つ)の見栄えの良いレイアウトを決定する際にも、同様のアイデア(力ベースのヒューリスティック)が使用されていると思います。

免責事項:私はこれを自分で使用していません。

お役に立てば幸いです。

于 2010-06-17T20:38:42.377 に答える
1

Box2Dは、必要なタスクを実行できる、広く使用されている(無料の)物理ライブラリです。リンク

于 2010-06-17T19:45:05.923 に答える
-1

探しているアルゴリズムは線形補間です。XNAには独自のlerp関数があります。

于 2010-06-17T19:55:32.310 に答える