/* Variablendeklaration */
var M; // dyn. Maßstab
var x; // Objektkoordinaten
var y;
...
var T_Erde = 365.26; // Umlaufdauer [d]
var R_Erde 149598e6; // Erdbahnradius
var phi_Erde; // Momentanwinkel
var Omega_Erde; // Winkelgeschwindigkeit Erde
var T_Mond = 27.32; // Umlaufdauer [d]
var R_Mond = 384.400e7; // Bahnradius Mond
var phi_Mond; // Momentanwinkel
var Omega_Mond; // Winkelgeschwindigkeit Mond
...
var t = 0; // Zeitvariable
var dt; // Increment der Zeitv.
var frmRate; // Screen-Refreshrate
function setup()
{
...
xi0 = 0.5*width; // int. Nullpunkt für kart. Koordinatensystem rel. zum internen K.
yi0 = 0.5*height;
...
M = 0.7*width/R_Erde; // Maßstab: 0.7*Fensterbreite bezogen auf Erdbahnradius
T_Erde = T_Erde*24*60*60; // Umlaufperiode in s
Omega_Erde = TWO_PI/T_Erde; // Winkelgeshwindigkeit Erde
T_Mond = T_Mond*24*60*60; // Umlaufperiode in s
Omega_Mond = TWO_PI/T_Mond; // Winkelgeshwindigkeit Erde
...
}
function draw()
{
/* Erde */
...
push(); // Sichern des aktuellen Koordinatensystems
translate(xi0,yi0);
ellipse(R_Erde*M, 0, 2*R_Erde*M, 2*R_Erde*M); // Erdbahn darstellen
rotate(phi_Erde);
translate(R_Erde*M, 0); // Erde auf Erdbahn verschieben
fill('#aaaaff');
ellipse(0,0,10,10); // Erde darstellen
push(); // Sichern des aktuellen Koordinatensystems
rotate(Omega_Mond*t);
fill(255);
ellipse(R_Mond*M,0,4,4); // Mondbahn darstellen
pop(); // Restaurieren des aktuellen Koordinatensystems
pop(); // Restaurieren des aktuellen Koordinatensystems
t = t + dt; // Zeitbasis
...
}