An interactive Python simulation visualizing the orbital mechanics and jet geometry claims from Avi Loeb's analysis of interstellar object 3I/ATLAS (December 2025).
This is an educational visualization tool that:
- Computes the orbital trajectory of 3I/ATLAS using real physics (2-body gravitational dynamics)
- Overlays Loeb's claimed jet geometry (fixed-axis cones) to test whether his geometric model works
- Provides interactive claim-by-claim analysis with pass/fail verification
| Element | Source |
|---|---|
| Orbital path (blue dashed) | Calculated from gravitational physics |
| Velocity vector (green arrow) | Calculated |
| Gravity direction (red dashed) | Calculated |
| Jet cones (+A/-A) | Loeb's assumed fixed-axis geometry |
| Sun-in-cone test | Verification of Loeb's assumption |
The simulation does not presuppose the correctness of any interpretation; it provides a framework for testing geometric claims against standard orbital mechanics.
Sun-in-cone test: The test is purely angular (dot-product based). Jet length and visual exaggeration do not affect containment results.
Based on Avi Loeb's December 17, 2025 Medium post "3I/ATLAS Maintained a Sunward Jet After Its Gravitational Deflection by 16 Degrees at Perihelion":
| # | Claim | Simulation Status |
|---|---|---|
| 1 | Gravitational turn ~16.4° | ✅ Computed & verified |
| 2 | Jet cone width ~8° | ✅ Rendered & tested |
| 3 | Wobble period 7.74h, ±4° | ✅ Animated |
| 4 | No active steering | ✅ Both cones always shown |
| 5 | Jet length ~10⁶ km | ✅ Scaled (60× visual) |
| 6 | Ecliptic alignment ±5° |
The simulation shows:
- Real-time orbital animation around the Sun
- Dual jet cones (+A orange, -A blue) representing Loeb's geometry
- Sun-in-cone status indicator (TEST result)
- Interactive claims panel with detailed explanations
- "15-year-old mode" for simplified explanations
- Python 3.10 or higher
- numpy, scipy, matplotlib
git clone https://github.com/kszpirak/3iatlas-animation.git
cd 3iatlas-animation
./install.sh # Creates venv, installs dependencies
./run.sh # Launch simulationpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py| Key | Action |
|---|---|
| Space | Pause / Play |
| ←/→ | Step frames (when paused) |
| 1-6 | Select claim to highlight |
| T | Toggle "15-year-old mode" |
| H | Show help / FAQ |
| ESC | Close modal |
- Claim buttons (1-6): Click to highlight specific claims
- [i] buttons: Show detailed claim analysis modal
- ? Help: FAQ explaining terminology and what's calculated vs assumed
- 15yo toggle: Simplified explanations for younger audiences
The code supports two physics modes (set via MODE constant in main.py):
Coordinate frame: All dynamics are computed in a heliocentric inertial frame, with the simulation plane corresponding to the object’s orbital plane. No non-inertial or rotating reference frames are used.
- Pure gravity physics (Keplerian hyperbolic orbit)
- Jet cones are visualization only
- Tests whether Loeb's fixed-axis geometry works
- Gravity + actual jet thrust physics
- Jet actively affects trajectory
- More realistic but deviates from Loeb's specific claims
The deflection angle for an object passing a massive body is given by a well-established formula from classical mechanics:
| Symbol | Meaning |
|---|---|
| θ | Deflection angle (radians) |
| G | Gravitational constant (6.674 × 10⁻¹¹ m³/kg·s²) |
| M | Mass of deflecting body (Sun = 1.989 × 10³⁰ kg) |
| b | Impact parameter (closest approach to undeflected path) |
| v | Velocity at infinity |
This is the Newtonian version, valid for objects moving much slower than light. For comparison, Einstein's General Relativity predicts twice this deflection for light (θ = 4GM/bc²), famously confirmed during the 1919 solar eclipse.
For 3I/ATLAS at ~68 km/s (0.02% of light speed), the Newtonian formula applies. The formula itself is textbook physics — Loeb's application of it is what this simulation tests.
- Perihelion distance: 202 million km (~1.35 AU)
- Velocity at perihelion: 68 km/s
- Gravitational deflection: ~16.4° (claimed)
- Jet cone half-angle: 4° (8° full width)
- Wobble period: 7.74 hours
- Wobble amplitude: ±4°
Loeb's article states:
"The direction of motion of 3I/ATLAS was shifted by the following angle (in radians) at perihelion: 2GM/(b·v²) = 0.286 = 16.4 degrees, where G is Newton's constant, M is the mass of the Sun, b=202 million kilometers is the perihelion distance and v=68 kilometers per second is the perihelion speed."
However, in classical scattering physics, b is the impact parameter (perpendicular distance from Sun to the undeflected asymptotic trajectory), not the perihelion distance.
The simulation computes both:
- Perihelion distance (rp): 202 million km (Loeb's value)
- Impact parameter (b): ~239 million km (calculated)
- Calculated deflection: ~19° (using correct impact parameter)
- Loeb's claimed deflection: 16.4° (using rp as "b")
This discrepancy is shown in the simulation output. This may reflect a difference in parameter interpretation, or an approximation not fully explained in the article. The simulation exposes this for users to evaluate.
- 2-body gravitational dynamics via
scipy.integrate.solve_ivp - Hyperbolic trajectory (eccentricity > 1)
- Standard gravitational parameter μ☉ = 1.327×10²⁰ m³/s²
- 2D orbital plane only (no 3D inclination or spin-axis modeling)
- No gas dynamics, plasma effects, or dust scattering
- Jet geometry is schematic, not derived from physical outgassing models
- matplotlib with FuncAnimation
- Jet length exaggerated 60× for visibility
- All angle calculations use true geometry
3iatlas-animation/
├── main.py # Main simulation code
├── run.sh # Launch script
├── install.sh # Setup script
├── requirements.txt # Python dependencies
├── 3i-atlas.png # Custom icon (optional)
└── README.md # This file
This project is intended for:
- Students and enthusiasts of orbital mechanics
- Readers seeking a visual interpretation of published claims
- Developers interested in scientific visualization
It is not intended as a peer-reviewed scientific publication.
- Orbital mechanics based on standard 2-body problem
- Claims and parameters from Avi Loeb's Medium post (December 17, 2025)
- Wobble period from cited preprint
- Built with assistance from ChatGPT 5.2 and Claude (AI pair programmers)
This is an independent educational visualization. It does not endorse or refute Loeb's claims — it provides a tool for visualizing and testing the geometry he describes against standard orbital mechanics.
This project is an exploratory visualization of orbital geometry inspired by public discussions of 3I/ATLAS. It is not intended as a definitive physical model.
MIT License - See LICENSE file for details.