Hyperbolic orbit rendering passes through origin (Oumuamua, 2I/Borisov, 3I/ATLAS)

Maxi

New Member
Oct 17, 2025
6
3

Game Version

v2026.2.30.3638

Operating System

Windows 10

What Happened​

The orbit lines of hyperbolic interstellar objects (Oumuamua, 2I/Borisov, 3I/ATLAS) are drawn through the solar system origin (Sol). The orbit line extends past the hyperbolic asymptote and wraps back through (0,0,0).

1771594679779.png

What Was Expected​

Hyperbolic orbit lines of interstellar objects should stop at or near the asymptote angle (acos(-1/e)), since positions beyond the asymptote are physically undefined for a hyperbola. This avoids the orbit line wrapping back through Sol.

1771594149974.png

Possible Root Cause​

UpdateTaskUtils.GenerateSpacedPoints() generates orbit points from true anomaly -Pi to +Pi. For elliptical orbits this covers the full orbit. For hyperbolic orbits (e > 1), the valid range is only -acos(-1/e) to +acos(-1/e). Points beyond this angle produce non-finite eccentric anomalies, leaving array slots at position (0,0,0) which the renderer connects with a line through the origin.

Quick Fix to get the to the "What was Expected" Screenshot:​

In UpdateTaskUtils.GenerateSpacedPoints(), clamp the true anomaly range for unbound orbits (Eccentricity >= 1) to the asymptote angle instead of using -Pi..+Pi:
double maxTA = Math.Acos(-1.0 / orbit.Eccentricity) * 0.999;
startTA = Math.Max(startTA, -maxTA);
endTA = Math.Min(endTA, maxTA);

Reproduction Steps​

  1. Start a new game
  2. Switch to Map view
  3. Disable all Orbit lines except Oumuamua (or 2I/Borisov, 3I/ATLAS) to make it easier to spot
  4. Zoom out to see its full orbit and observe the orbit line passing through the Sun/origin

Reproduction Rate​

always

Additional Info​

  • Video/Screenshots: [Link or attach files]
  • Save File: [Attached/Link to save file if relevant]
  • Other Notes: [Any other relevant details]
 
Upvote 0