常に動いている数百の粒子間で n 体シミュレーションを実行するために必要なアプリケーションをコーディングしています。アプリケーションにはリアルタイム要件があるため、シミュレーションを実行するアルゴリズムは高速である必要があります。
私はこの問題についてかなりの量の調査を行い、Barnes Hut アルゴリズムが私のニーズに最も適しているという結論に達しました。大きな粒子セットには非常に効率的であるようです。
http://arborjs.org/docs/barnes-hut は、アルゴリズムがどのように機能するかについて非常に明確な説明を提供しましたが、タイトルが示すように、反復ごとにツリーを再作成する必要があるかどうかを知りたいです。シミュレーションで使用されるパーティクルは、常に動的に動いています。また、ツリーを再作成する必要がある場合、(処理能力とメモリの点で) 最も効率的な方法でそれを行うにはどうすればよいでしょうか。