エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C++ 物理シミュレーション・テクニック - Qiita
for(int i = 0 ; i < Nbody ; ++ i){ for(int j = 0 ; j < Nbody ; ++ j){ vec3<double> dr_ij = r[i] -... for(int i = 0 ; i < Nbody ; ++ i){ for(int j = 0 ; j < Nbody ; ++ j){ vec3<double> dr_ij = r[i] - r[j]; double inv_r_ij = 1.0 / abs(dr_ij); a[i] += - m[j] * dr_ij * (inv_r_ij * inv_r_ij * inv_r_ij); } } なんと!たったの三行! そう我々はバグを出さないためにこういう書き方をすべきなのだ。 各々次元にはどうせ同じ処理をしてしまうのだ、圧縮してしまえば良い。 そこをfor文で書くと、バグを生む可能性が出るし、for文の分計算コストがかかるかもしれない。 (もっとも、これはコンパイラの最適化で何とかなるかもしれないわけだが…) さて、では何故こんな事ができるか? もちろんC++にはvec3とかいう
2014/05/29 リンク