import java.applet.Applet; import java.awt.Graphics; // /**惑星系クラス(Applet憑き)*/ public class PlanetarySystem extends Applet implements Runnable{ //汎用定数 public double K = 6.672*Math.pow(10,-5); //万有引力定数 public double mAU = 149597870; //天文単位/1000 //Applet用定数など public static final int APPLET_WIDTH=300; public static final int APPLET_HEIGHT=300; public static final double RANDOM_PATTERNS=10000;//乱数パターン数 public Thread thread; public Graphics graphics; //主なfields public Minorbody[] minorbody;//メンバ小天体クラス配列 public int minorbodies; //メンバ小天体数 public double dt; //微少時間 public long time;//時間 //ウィンドウ変数 public double scale;//表示される領域の幅(=高さ) public double CX;//表示領域センターx座標 public double CY;//表示領域センターy座標 public double WX0;//表示領域始点x座標 public double WY0;//表示領域始点y座標 public double WX1;//表示領域終点x座標 public double WY1;//表示領域終点y座標 //dinamic class用コンストラクタ(fieldsは各自後で代入) public PlanetarySystem(){} //Applet初期化 public void init(){ time=0; //コンピュータ時間によるMath.random()空回し for(int i=0;i<(int)(System.currentTimeMillis()%RANDOM_PATTERNS);i++){ Math.random(); } CX=0;//宇宙のセンターをフォーカス CY=0;//宇宙のセンターをフォーカス scale=10*mAU;//1画面=0.001天文単位 dt=1;//微少時間 minorbodies = 10;//天体10個 minorbody=new Minorbody[minorbodies]; for(int i=0;i