矢印の表示/非表示は右のボタンで調整→
初期位置(,)、初速度(,)
このプログラムは落体の運動に、空気抵抗を加えたものである。空気抵抗を加えるために編集した部分は、下の通り。
を、psystem(すなわち、系)を定義した後で加えた(このmakeAirという関数が何をしているのかも、また後で説明しよう)。
このページではそのほかに、初期位置と初速度を変えて再スタートさせる機能がつけられている。まずはいろんな初期位置、初速度で運動を見てみよう。
の部分が、初期位置と初速度の入力を担当する部分で、<input id="x0" value="0">というのが「入力部分(input)」を表示させる部分である。id="x0"というのは「初期位置のx座標」を意味するid(識別子)である。value="0"はその値が0であることを示す。この部分の値はキーボードから変更できる。
その後ろに、
という部分があるが、これが再スタートをするためのボタンで、ボタンが押されたら何が起こるか、を示しているのが、onClick="go();"の部分。このgoという関数は上の方で、
function go() { m1.pos.x=Number(document.getElementById("x0").value); m1.pos.y=Number(document.getElementById("y0").value); m1.v.x=Number(document.getElementById("vx0").value); m1.v.y=Number(document.getElementById("vy0").value); }
の部分で定義されている。このコードのm1.pos.x=Number(document.getElementById("x0").value);という部分は「x0という識別子を持つinputの値(value)をm1.pos.x(←これはm1という物体の現在位置のx成分)に入れろ」ということを意味する命令である(以下同様)。
なお、入力するときの目安になるように座標目盛を描かせているが、これはpsystemを作った後に、psystem.writeXY=true;で行っている。
次はバネをつけてみよう、という人はバネ振り子へ。