私は CUDA が初めてで、NVidia GPU SDK のサンプルを試しています。
目標は、粒子の例で球を回転させることです。球体が落下している間、球体も回転しています。
パーティクルサンプルでは、パーティクルは半径を持つ単なるポイントです。それらは球の質量ではなく点の質量であると想定されているため、シミュレーションでは角運動量はありません(つまり、それらの質量はすべて正確に中心にあると想定されます)。
これを物理的に実行する場合は、ポイントマスだけでなく、単純化されたリジッドボディダイナミクスを使用する必要があります。
パーティクルを視覚的に(非物理的に)回転させたい場合は、各パーティクルに表示するオブジェクトを描画する前に、GLマトリックススタックに回転マトリックスを適用するだけでそれを行うことができます(トーラスについて言及しました)。これは、CUDAシミュレーションコードとは関係なく、OpenGLで実行できます。