public void ChangeCoordinatesOfPlanetSystemByOneDayBefore() { CoordinatesTriger trg = new CoordinatesTriger(); Galaxy g = new Galaxy(); g.CreateNormalGalaxy(); //One day changes PlanetSystem ps = g.SolarSystems.ToArray()[1].Planets.ToArray()[3]; Tuple <double, double> result = trg.ChangeCoordinatesOfPlanetSystemByOneDayBefore(ps, g.SolarSystems.ToArray()[1]); Assert.AreEqual(Math.Round(result.Item1, 3), Math.Round(249.19737775501, 3)); Assert.AreEqual(Math.Round(result.Item2, 3), Math.Round(-1.8895, 3)); }
public Tuple <double, double> ChangeCoordinatesOfPlanetSystemByOneDay(PlanetSystem planetSystem, SolarSystem solarSystem) { try { var oneDaydistancechanges = planetSystem.Speed * 60 * 60 * 24 / 1000000; var oneDayDegreeChanges = 180 / planetSystem.OrbitalPeriod; var angle = Math.PI * oneDayDegreeChanges / 180.0; var first_coord = (planetSystem.ELlipseParamA * Math.Cos(planetSystem.Angle += angle)); var second_coord = (planetSystem.ELlipseParamB * Math.Sin(planetSystem.Angle += angle)); planetSystem.Coordinates = new Tuple <double, double>(first_coord, second_coord); return(planetSystem.Coordinates); } catch (Exception e) { throw new System.Exception($"Class {this.GetType().Name}, method {System.Reflection.MethodBase.GetCurrentMethod().Name}" + e.Message); } }
private void Button1_Click(object sender, EventArgs e) { _planet = new Planet(); _planet.Name = textBox1.Text; _planet.Coordinates = new Tuple <double, double>(Convert.ToDouble(textBox3.Text.Split('-')[0]), Convert.ToDouble(textBox3.Text.Split('-')[1])); _planet.Mass = Convert.ToDouble(textBox4.Text); _planet.Diametr = Convert.ToDouble(textBox5.Text); _planet.ELlipseParamA = Convert.ToDouble(textBox6.Text); _planet.ELlipseParamB = Convert.ToDouble(textBox7.Text); _planet.OrbitalPeriod = Convert.ToDouble(textBox8.Text); _planet.Speed = Convert.ToDouble(textBox9.Text); if (IsMoon.Checked == true) { _moon = new Moon(); _moon.Coordinates = new Tuple <double, double>(Convert.ToDouble(textBox15.Text.Split('-')[0]), Convert.ToDouble(textBox15.Text.Split('-')[1])); _moon.Mass = Convert.ToDouble(textBox14.Text); _moon.Diametr = Convert.ToDouble(textBox13.Text); _moon.EllipseA = Convert.ToDouble(textBox12.Text); _moon.EllipseB = Convert.ToDouble(textBox11.Text); _moon.Speed = Convert.ToDouble(textBox2.Text); _planetSys = new PlanetSystem(_planet, new List <Moon>() { _moon }); } else { _planetSys = new PlanetSystem(_planet); } _solarSystem.Planets.Add(_planetSys); Application.Exit(); }