このプログラムの主要部分は以下の通り。

		  gs=new Phystem("canvas1",10,10,0.6);
		  gs.makeEdge(0.3);
		  gs.makeGravity(1);
		  gs.makeAir(0.1);
		  M =new DynamicalObject(gs, 0, 0,0,0,1,"rgba(0,0,255,0.5)",0.3);
		  m1=new DyynamicalObject(gs,0,-2,0,0,1,"rgba(255,0,0,0.5)",0.3);
		  m2=new DynamicalObject(gs,-2,-2,0,0,1,"rgba(255,0,0,0.5)",0.3);
		  con1=new Connector(gs,M,m1,0,"rgba(0,0,0,0.5)");
		  con2=new Connector(gs,m2,m1,0,"rgba(0,0,0,0.5)");
		  con3=new Connector(gs,m2,M,0,"rgba(0,0,0,0.5)");
		  M.enableDrag();
		  gs.start();
		

 最初の行から順番に説明しておこう。

 1行目のgs=new Phystem("canvas1",10,10,0.6);では、今から物体が運動する舞台である「系」を作る。10,10はその縦横の幅。0.6は、画面の横幅に占める割合(つまりこの場合、画面の60%の幅の舞台ができる)。

 2行目のgs.makeEdge(0.3);は舞台の外に物体が出ないようにする「壁」を作る(壁の幅は0.3)。

 3行目のgs.makeGravity(1);はこの系の中にいる物体に強さ1の重力を働かせる。

 4行目のgs.makeAir(0.1);は空気抵抗を作る。

 このプログラムには三つの物体がある。3つの物体を作っているのがそれに続く3行で、

 M =new DynamicalObject(gs, 0, 0,0,0,1,"rgba(0,0,255,0.5)",0.3);で、位置(0,0)に一個目の物体を、

 m1=new DyynamicalObject(gs,-2, 0,0,0,1,"rgba(255,0,0,0.5)",0.3);で、位置(-2,0)に2個めの物体を、

 m2=new DynamicalObject(gs,-2,-2,0,0,1,"rgba(255,0,0,0.5)",0.3);で、位置(-2,0)に3個めの物体を作る。

 その次の3行、

		  con1=new Connector(gs,M,m1,0,"rgba(0,0,0,0.5)");
		  con2=new Connector(gs,m2,m1,0,"rgba(0,0,0,0.5)");
		  con3=new Connector(gs,m2,M,0,"rgba(0,0,0,0.5)");

で3つの物体を「コネクタ」でつないでいる。


目次に戻る