// Walter Orlov, August 2003

import java.applet.*;
import java.awt.*;

public class appl1 extends java.applet.Applet {

 public void init() {
     setLayout(new BorderLayout());
     setBackground(Color.white);
     }


  public void paint(Graphics g) {

  double r[]= new double[15];
  double ro = 25000., mc = 0., r0 = 35.;
  int i, j, count = 15, center = 160;


  g.setColor(Color.black);
  g.drawString("R",320,center+15);
  g.drawString("V",center-15,15);
  g.drawString("g,a",center-20,2*center-10);
  g.drawLine(10,center,330,center);
  g.drawLine(center,315,center,5);
  g.fillArc(center-3, center-3, 6, 6, 0, 360);

  g.setColor(Color.yellow);
  g.fillArc(center+83,center-2, 4, 4, 0, 360);

  g.setColor(Color.red);
  for(i=0;i<count;i++){
  r[i]=10+i*10;
  g.fillArc(center+(int)r[i]-3,center-3, 6, 6, 0, 360);
  g.fillArc(center-(int)r[i]-3,center-3, 6, 6, 0, 360);
  }

 // Action
 for(i=1;i<count;i++){
 g.setColor(Color.green);
 mc=0.;
 for(j=0;j<i;j++)mc = mc + 2*ro*Math.exp(-r[j]/r0);
 mc = mc/(r[i]*r[i]);
 // g, V
 g.fillArc(center+10+i*10, center+(int)(1.5*mc), 3, 3, 0, 360);
 g.fillArc(center+10+i*10, center-(int)(10.*Math.sqrt(i*mc)), 3, 3, 0, 360);
 // a, V
 g.setColor(Color.blue);
 for(j=i;j<count;j++)mc = mc - ro*Math.exp(-r[j]/r0)/(r[j]*r[j]) + ro*Math.exp(-2*r[j]/r0)/(r[j]*r[j]);
 g.fillArc(center+10+i*10, center+(int)(1.5*mc), 3, 3, 0, 360);
 if(mc>0.)g.fillArc(center+10+i*10, center-(int)(10.*Math.sqrt(i*mc)), 3, 3, 0, 360);
  }
 }
}