private void RunGravityBall(double elapsedTime, Ball gravityBall, Color color) { const double GRAVITATIONALCONSTANT = 1000d; pictureBox1.FillCircle(color, gravityBall.Position, gravityBall.Radius); gravityBall.PrepareForNewTimerCycle(); MyVector gravityLink = _centerMassWorld - gravityBall.Position; double force = GRAVITATIONALCONSTANT * (gravityBall.Mass * _ship.Mass) / gravityLink.GetMagnitudeSquared(); gravityLink.BecomeUnitVector(); gravityLink.Multiply(force); gravityBall.ExternalForce.Add(gravityLink); gravityLink.Multiply(-1d); _ship.ExternalForce.Add(gravityLink); gravityBall.TimerTestPosition(elapsedTime); gravityBall.TimerFinish(); }