Skip to the visualization

ECE 6390 · Interactive learning lab

Watch the orbit. Follow the code.

Connect orbital motion, a rotating observer, solar pressure, and the RK4 update in one teaching simulation.

A separate 48-hour teaching scenario, not an optimized homework solution. The solar view is a geometry close-up of the current angles.

Inspect these angles in Solar Components

One orbit, four connected views

Based on orbit_sim_math_final.py · 48-hour teaching scenario · no optimized homework orbit · spherical Earth · equatorial motion · no eclipses or thrust
αr = 0.5 · ΩEarth: sidereal day · ΩSun: 365 days
Orbit / position Solar acceleration Velocity Station / line of sight Gravity

1 · Orbit and rotating observer

2 · Accelerations in the satellite's local axes

3 · Elevation: the station-satellite plane

4 · Azimuth: looking down on the horizon


The same state inside update()


Code flow: searches outside, physics inside

Diagram only: density thresholds and optimized designs are not computed here.
Gravity-only GEO check
Bracket density → brentq → repeated runs
Initial r, Vr, a → DE → Powell → repeated runs
Current state: r, theta, Vr, omega, time
gamma → calcAz / adjAz · acos magnitude + isVisible sign
Unwrap → max_drift → min_elevation → rows
set_t → update → derivatives × 4 → RK4
Endpoint guard → store state → time += dt
↺ More time: back to ① · End: return summaries + optional arrays → plots
Select a code stage to highlight its physical quantities.