/* 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 ... }