矢印の表示/非表示は右のボタンで調整→

初期位置(,)、初速度(,)


このプログラムは落体の運動に、空気抵抗を加えたものである。空気抵抗を加えるために編集した部分は、下の通り。

psystem.makeAir();

を、psystem(すなわち、系)を定義した後で加えた(このmakeAirという関数が何をしているのかも、また後で説明しよう)。


 このページではそのほかに、初期位置と初速度を変えて再スタートさせる機能がつけられている。まずはいろんな初期位置、初速度で運動を見てみよう。

入力のプログラム  まず初期位置と初速度であるが、ファイルの中に書かれた
初期値(<input id="x0" value="0">,<input id="y0" value="2">)初速度(<input id="vx0" value="1">,<input id="vy0" value="0">)

の部分が、初期位置と初速度の入力を担当する部分で、<input id="x0" value="0">というのが「入力部分(input)」を表示させる部分である。id="x0"というのは「初期位置のx座標」を意味するid(識別子)である。value="0"はその値が0であることを示す。この部分の値はキーボードから変更できる。

 その後ろに、

<button onClick="go();">再スタート</button>

という部分があるが、これが再スタートをするためのボタンで、ボタンが押されたら何が起こるか、を示しているのが、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;で行っている。

 次はバネをつけてみよう、という人はバネ振り子へ。


目次に戻る