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