R
X
Y
Z
running=true; //First give the variables some initial values dt = .01; //Make this smaller for better accuracy x=0.8; //initial positions y=0; z=.5; vx=0; //initial velocities vy=0.4; vz=0.7; StepModel(); //Start the simulation running
r=Math.sqrt(x*x+y*y+z*z); //radius accx= -x/(r*r*r); //acceleration in x direction accy= -y/(r*r*r); // " in y direction accz= -z/(r*r*r); // " in z direction vx+=accx*dt; vy+=accy*dt; vz+=accz*dt; x+=vx*dt; y+=vy*dt; z+=vz*dt; //Move the blue satellite Moveball(earth, x, y, z); //Show the values document.inputs.radius.value = r.toFixed(3); document.inputs.posx.value = x.toFixed(3); document.inputs.posy.value = y.toFixed(3); document.inputs.posz.value = z.toFixed(3); if(running){setTimeout('StepModel()',10);}