矢印の表示/非表示は右のボタンで調整→
このプログラムの主要部分は以下の通り。
psystem=new Phystem("canvas1",10,10,0.6); psystem.makeEdge(0.3); psystem.makeGravity(1); M=new NonDynamicalObject(psystem,0,0,"rgba(0,100,100,0.5)"); M.r=0.1; M.enableDrag(); m1=new DynamicalObject(psystem,-3,0,0,0,1,"rgba(0,0,255,0.5)"); m1.enableDrag(); con=new Connector(psystem,M,m1,"rgba(0,0,0,0.5)"); psystem.start();
最初の3行は「系を作り、壁と重力を加える」という作業である。
このプログラムには三つの物体がある。
一つ目の物体はMである。M=new NonDynamicalObject(psystem,0,0,"rgba(0,100,100,0.5)");で、「動かない物体(NondDynamicalObject)を作り、系psystemの場所(0,0)に置いている。色をrgba(0,100,100,0.5)にした。次の行のM.r=0.1;で、半径を0.1にしている。
二つ目の物体はm1であり、m1=new DynamicalObject(psystem,-3,0,0,Math.sqrt(0.5),1,"rgba(255,0,0,0.5)");で、系psystemの場所(-3,0)に(最初は)置かれる。
初速度は0にしている。その後の1は質量が1であることを指定し、最後で色をrgba(255,0,0,0.5)にした。
最後の物体が大事で、物体と物体をつなぐ「コネクタ」である。
con=new Connector(psystem,M,m1,"rgba(0,0,0,0.5)");が新しいコネクタを作る(ConnectorはSpringというオブジェクトから作られている)。
Connectorの第1の引数は例によって所属する系だが、第2,第3の引数は「そのコネクタが何と何をつないでいるか」を示す。今の場合はM,m1なので、Mとm1が繋がれているのである。
最後の引数は例によって色である。
課題
たくさんの振り子を一斉に振らせてみたのが、振り子たくさん。
二つの物体をつないで、振り子ではなく自由に動くようにしたのが亜鈴。