クーロンボール
qballのページ

●製作日

2012.4頃

●製作日数

のべ3日ぐらいだったか

●製作の動機

HTML5+Javascriptで何か作りたくなったため

●材料

高校時代の物理の教科書

●作り方

  1. 電荷が及ぼす力の復習
  2. 枠とボールのの大きさを決める
  3. 赤と青のボールの画像を作る
  4. まず、枠内にボールを1個書いて、等速直線運動させてみる。次の場所に再描画。
  5. 壁での反射を実装。速度を逆向きにする。
  6. ボールを2個にする
  7. ボールの衝突。速度の交換
  8. 電荷の付与。次の速度を決めるのに、電荷による力を使う。
  9. 電荷の入力インターフェース。画面右のスライドバーを設置。

●工夫した点
今後改良したい点

  • データ構造。当然、ボールオブジェクトを2つ作った。
    javascriptなので、function qball(image,radius,x,y,vx,vy)のようなコンストラクタを作って、new qballする。
    プログラム中では、redBall.vxなどの値を扱う。
  • 全体制御。まぁ、工夫と言っても、これしかないのかもしれないが。
    1. ボールの位置を次に進めて
    2. 衝突の処理。この中で衝突判定して、衝突していたら速度を交換する
    3. 次の速度を算出。ここで電荷の力を使う。
    4. 反射の処理。反射していたら、速度を逆にする。
    5. 再描画
  • 電荷の強さをスライドバーでセットできるようにした。
    電荷の強さによる影響を簡単に見られるので、便利。
  • キャンバスとボールの大きさ。
    程よいバランスでないと、動きがよく見えないので、慎重に決めた。
  • シャルル・ド・クーロンのWkikPediaへのリンクを右上に設置した。
    電荷の強さを測定するために、ねじり秤という測定装置を考案・自作して、測定した。
    どうやったら測れるのかを考えて、装置を作ってしまう、と言うところが、よい。
    ま、重力波を検出する装置を作った今の時代でも、実験物理はクーロンさんの時代と同じなのだが。