private void GenerateMoons(int maxMoons) { if (maxMoons <= 0) { return; } for (var i = 0; i <= maxMoons; i++) { var moon = new Orbital(OrbitalType.Moon); AddOrbital(moon); moon.OrbitRadius = this.OrbitRadius / 10; //1000000000000; // FIXME: This makes no sense; moon.OrbitalPeriod = moon.OrbitTimeForDistance() / 10; // TODO: Fix with real physics! } }
public Orbital Pluto() { var pluto = new Orbital(OrbitalType.Planet) { Mass = (float)0.0146 * multiplierMass, Diameter = 2370, Density = 2095, Gravity = 0.7, RotationPeriod = -153, OrbitRadius = (ulong)5906.4 * multiplierDistance, OrbitalPeriod = 90560, OrbitalInitAngle = 50 }; // Todo Add moons return(pluto); }
public Orbital Neptune() { var neptune = new Orbital(OrbitalType.Planet) { Mass = 102 * multiplierMass, Diameter = 49528, Density = 1638, Gravity = 11.0, RotationPeriod = 16, OrbitRadius = (ulong)4495.1 * multiplierDistance, OrbitalPeriod = 59800, OrbitalInitAngle = 100 }; // Todo Add moons return(neptune); }
public Orbital Uranus() { var uranus = new Orbital(OrbitalType.Planet) { Mass = (float)86.8 * multiplierMass, Diameter = 51118, Density = 1271, Gravity = 8.7, RotationPeriod = -17, OrbitRadius = (ulong)2872.5 * multiplierDistance, OrbitalPeriod = 30589, OrbitalInitAngle = 120 }; // Todo Add moons return(uranus); }
public Orbital Saturn() { var saturn = new Orbital(OrbitalType.Planet) { Mass = 568 * multiplierMass, Diameter = 120536, Density = 687, Gravity = 9, RotationPeriod = 10, OrbitRadius = (ulong)1433.5 * multiplierDistance, OrbitalPeriod = 10747, OrbitalInitAngle = 135 }; // Todo Add moons return(saturn); }
public Orbital Jupiter() { var jupiter = new Orbital(OrbitalType.Planet) { Mass = 1898 * multiplierMass, Diameter = 142984, Density = 1326, Gravity = 23.1, RotationPeriod = 10, OrbitRadius = (ulong)778.6 * multiplierDistance, OrbitalPeriod = 4331, OrbitalInitAngle = 260 }; // Todo Add moons return(jupiter); }
public Orbital Mars() { var mars = new Orbital(OrbitalType.Planet) { Mass = (float)0.642 * multiplierMass, Diameter = 6792, Density = 3933, Gravity = 3.7, RotationPeriod = 10, OrbitRadius = (ulong)227.9 * multiplierDistance, OrbitalPeriod = 687, OrbitalInitAngle = 300 }; // Todo Add moons return(mars); }
private void GenerateSol() { //https://nssdc.gsfc.nasa.gov/planetary/factsheet/index.html var sol = new Orbital(OrbitalType.Star); sol.AddOrbital(new Planet().Mercury()); sol.AddOrbital(new Planet().Venus()); sol.AddOrbital(new Planet().Earth()); sol.AddOrbital(new Planet().Mars()); sol.AddOrbital(new Planet().Jupiter()); sol.AddOrbital(new Planet().Saturn()); sol.AddOrbital(new Planet().Uranus()); sol.AddOrbital(new Planet().Neptune()); if (PlutoIsAPlanet) { sol.AddOrbital(new Planet().Pluto()); } AddOrbital(sol); }