パーティクル 浮遊粒子1000個
小さな粒子をたくさん表示するデモプログラムを作成してみました。
画面の左上に次々と粒子が生成されます。移動量の初期値は下方向、および左右に少しだけ乱数要素が入ります。最大1000個まで増えていきます。
粒子同士にはビリヤードタイプの衝突判定処理があり、別の粒子や外壁(表示はされていませんが)に衝突すると跳ね返ります。
1000個の粒子の衝突検出をストレートに実行すると50万回もの判定処理が必要になってしまい負荷が多すぎるため、領域分割法により軽減させています。
画面の上にマウスを乗せると、その周辺の粒子をマウスから遠ざけるような力を与えます。
![]() |
開かないときはこちらをクリック ※表示に時間がかかることがあります。 |
画面の左上に次々と粒子が生成されます。移動量の初期値は下方向、および左右に少しだけ乱数要素が入ります。最大1000個まで増えていきます。
粒子同士にはビリヤードタイプの衝突判定処理があり、別の粒子や外壁(表示はされていませんが)に衝突すると跳ね返ります。
1000個の粒子の衝突検出をストレートに実行すると50万回もの判定処理が必要になってしまい負荷が多すぎるため、領域分割法により軽減させています。
画面の上にマウスを乗せると、その周辺の粒子をマウスから遠ざけるような力を与えます。