From 6156255cf5cbfc5b220a1cb8f2ef8e9037d6f81a Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 18 Apr 2022 00:11:26 -0400 Subject: [PATCH] Clean up --- .../Components/Orbital/OrbitalParameters.cs | 42 ++----------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/NewHorizons/Components/Orbital/OrbitalParameters.cs b/NewHorizons/Components/Orbital/OrbitalParameters.cs index 7b0a7f9e..ebcf6a17 100644 --- a/NewHorizons/Components/Orbital/OrbitalParameters.cs +++ b/NewHorizons/Components/Orbital/OrbitalParameters.cs @@ -61,6 +61,8 @@ namespace NewHorizons.Components.Orbital var r_a = semiMajorAxis * (1 + eccentricity); float v; + + // For linear if(primaryGravity.Power == 1) { // Have to deal with a limit @@ -76,6 +78,7 @@ namespace NewHorizons.Components.Orbital v = Mathf.Sqrt(v2); } } + // For inverseSquare else { v = Mathf.Sqrt(G * primaryMass * ((2f / r) - (1f / semiMajorAxis))); @@ -100,45 +103,6 @@ namespace NewHorizons.Components.Orbital orbitalParameters.InitialPosition = R1 * R2 * R3 * pos; orbitalParameters.InitialVelocity = R1 * R2 * R3 * vel; - Logger.Log($"POSITION: {orbitalParameters.InitialPosition}, {orbitalParameters.InitialVelocity}, {n_p}, {n_v}, {primaryMass}"); - - /* - var x = r * (Mathf.Cos(la) * Mathf.Cos(ap + f) - Mathf.Sin(la) * Mathf.Sin(ap + f) * Mathf.Cos(i)); - var y = r * (Mathf.Sin(la) * Mathf.Cos(ap + f) + Mathf.Cos(la) * Mathf.Sin(ap + f) * Mathf.Cos(i)); - var z = r * (Mathf.Sin(i) * Mathf.Sin(ap + f)); - orbitalParameters.InitialPosition = new Vector3(x, y, z); - - // Velocity - - var coefficient = h * eccentricity * Mathf.Sin(f) / (r * p); - var vx = x * coefficient - (h / r) * (Mathf.Cos(la) * Mathf.Sin(ap + f) + Mathf.Sin(la) * Mathf.Cos(ap + f) * Mathf.Cos(i)); - var vy = y * coefficient - (h / r) * (Mathf.Sin(la) * Mathf.Sin(ap + f) - Mathf.Cos(la) * Mathf.Cos(ap + f) * Mathf.Cos(i)); - var vz = z * coefficient + (h / r) * (Mathf.Sin(i) * Mathf.Cos(ap + f)); - orbitalParameters.InitialVelocity = new Vector3(vx, vy, vz); - */ - - /* - // Where x points towards the periapsis - var ox = semiMajorAxis * Mathf.Cos(f); - var oy = semiMinorAxis * Mathf.Sin(f); - var o = new Vector3(ox, 0, oy); - - var mu = GravityVolume.GRAVITATIONAL_CONSTANT * primaryMass; - var r = o.magnitude; - var o_dot_coeff = Mathf.Sqrt(mu * ((2/r) - (1/semiMajorAxis))); - var ox_dot = o_dot_coeff * -Mathf.Sin(eccentricAnomaly); - var oy_dot = o_dot_coeff * Mathf.Cos(eccentricAnomaly); - var o_dot = new Vector3(ox_dot, 0, oy_dot); - - // Do some rotations - var R1 = Quaternion.AngleAxis(Mathf.Rad2Deg * -longitudeOfAscendingNode, Vector3.up); - var R2 = Quaternion.AngleAxis(Mathf.Rad2Deg * -inclination, Vector3.forward); - var R3 = Quaternion.AngleAxis(Mathf.Rad2Deg * -argumentOfPeriapsis, Vector3.up); - - orbitalParameters.InitialPosition = R1 * R2 * R3 * o; - orbitalParameters.InitialVelocity = R1 * R2 * R3 * o_dot; - */ - return orbitalParameters; } }