我正在编写一个应用程序,该应用程序需要在数百个不断运动的粒子之间执行 n 体模拟。该应用程序具有实时要求,因此执行模拟的算法需要快速。
我已经对此事进行了大量研究,得出的结论是 Barnes Hut 算法最适合我的需求,它对于大型粒子集似乎非常有效。
http://arborjs.org/docs/barnes-hut 非常清楚地解释了算法的工作原理,但正如标题所暗示的那样,我想知道是否需要为每次迭代重新创建树,考虑到模拟中使用的粒子总是动态运动的。如果确实需要重新创建树,如何以最有效的方式(就处理能力和内存而言)进行重建。