logoalt Hacker News

daviazpentoday at 3:15 PM4 repliesview on HN

Hi HN!

I'm Davi, a 17-year-old developer from Brazil, and I've spent the last few months building NEO Radar, a browser-based orbital mechanics engine focused on Near-Earth Objects.

The goal wasn't to build another Solar System viewer, but to understand how orbital propagation actually works and implement as much of it as I could from first principles.

Some highlights:

• 41,812 real asteroids from the Minor Planet Center • JPL Horizons ephemerides • Newton-Raphson solver for Kepler's equation • Adaptive RK4 N-body integration • Monte Carlo uncertainty propagation • Real planetary perturbations • Interactive 2D heliocentric visualization

One architectural decision I'm particularly happy with is that the physics engine is completely isolated from rendering. The integrator has no DOM, Canvas or fetch dependencies—it simply outputs state vectors that the renderer consumes.

The repository also includes benchmarks, unit tests and documentation describing the numerical methods and the limitations of the model.

This project taught me far more about numerical methods and orbital mechanics than I expected when I started.

I'd really appreciate feedback, especially from anyone with experience in astrodynamics, numerical simulation or scientific visualization. I'm sure there are many things that can still be improved.

GitHub: https://github.com/azpeeen/NEO-Radar


Replies

zamadatixtoday at 4:10 PM

Why did you choose to have something else write the project if your goal was to learn as much as you can from first principles yourself?

show 2 replies
woopsntoday at 5:00 PM

Hey cool project! I built a solar system visualizer some years ago but just using the ephemerides data, no physics. This is ambitious. Noting your age I would say, invest some time in the basics - Euler, Improved Euler, finite differences, explicit vs implicit, multi-step methods etc.

Eg I see you've got a powerful adaptive Runge-Kutta method implemented in integrator.js. While that will do really well, for the sake of study you might make the solver implementation swappable and experiment with basic techniques. Some are very slow. Some maybe unstable and blow up the solar system. Why? Numeric methods are not one size fits all - see what the different tradeoffs are and how they respond to fiddling parameters. Understand the fundamentals.

show 1 reply
rkagerertoday at 7:16 PM

If anyone is wondering or it's not clear, AI was used. (There's some discussion in a sibling comment).

show 2 replies
ecommerceguytoday at 5:56 PM

Very cool I'm going to share with our NEKAAL group at Farpoint Observatory.

show 1 reply