2010-12-10 26 views
2

シェイプをウィンドウ内でドラッグできるソフトウェアを設計する必要があります。問題は何千もの形があり、いくつかの制限があるかもしれないということです。 1つの形状は別の形状を超えることはできません。シェイプドラッグの問題

実際には、ある形状を特定の位置に配置できるかどうかを素早く判断するために、データストレージを整理する方法とアルゴリズムを知る必要があります。 この問題は何度も解決されたと思いますが、Googleに正しく問題を解決する方法はわかりません。このトピックに関するいくつかの情報を私に提供してもらえますか? ありがとう!

答えて

3

衝突検出にquadtree(2D、octree if 3D)が頻繁に使用されます。アイデアは、四角形/立方体の空間を再帰的に分割し、正しい四角形/立方体に形状を配置することです。特定の形状で衝突検出を実行する必要がある場合、同じ正方形/立方体内の形状のみをテストできます。

あなたの持つ制約に応じて、賛否両論がある他の構造もあります。他の形状が静的であれば、BSPツリーも良好な構造になります。