6 ms·
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 o
by daviazpen 2mo ago
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 https://github.com/azpeeen/NEO-Radar
- zamadatix 2mo agoWhy 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?
- axus 2mo agoWhen I'm starting from mostly ignorance, being an apprentice is better than trying , making little progress, and giving up. The problem will be if we never transition from being an apprentice, to independence.
- leetrout 2mo agoThis is the answer. Sometimes you don't even know the word to use to find information.
- doctorhandshake 2mo agoThis stage is called ‘keyword foraging’
- zamadatix 2mo agoAnd that's a fine start, but my question was not why they avoided inventing everything from scratch themselves. Apprenticing to see how it can be done is only half the journey to understanding things from first principles, trying to then do it yourself is the other half. Usually you learn more in the second half than the first, you just need the first to make the second feasible. Not that there is anything wrong with just wanting to make another visualizer and learn some things along the way, it's just a hollow way to try to learn first principles.
- thegrim33 2mo agoWere people not able to accomplish that transition in the times before AI existed?
- axus 2mo agoNovices apprenticed to humans, instead of AIs; if they could find one. Flight dynamics guys might be too busy for a 17-year old apprentice from Brazil.
- daviazpen 2mo agoFair point, and one I've thought about a lot. My analogy: AI is like a calculator. In the hands of someone who doesn't understand math, it produces answers they can't verify. In the hands of someone learning, it lets you tackle problems that would otherwise take years to reach. But the real answer is what I can demonstrate: I understand why Newton-Raphson converges for Kepler's equation, why RK4 needs 4 evaluations per step, why adaptive timestep matters near perihelion, and why N-body perturbations from Jupiter dominate over Saturn for most NEOs. I wrote the physics isolation boundary myself because I understood why it mattered. Could I implement all of this from scratch without AI? Not yet. But I understand what's there and that's where I'm starting from, not ending.
- woopsn 2mo agoHey 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.
- daviazpen 2mo agoThank you! this is exactly the kind of feedback I was hoping for. Making the solver swappable is a genuinely great idea I hadn't considered. Watching Euler blow up the solar system while RK4 stays stable would make the tradeoffs immediately visible. Adding that to the roadmap.
- ecommerceguy 2mo agoVery cool I'm going to share with our NEKAAL group at Farpoint Observatory.
- daviazpen 2mo ago[dead]
- rkagerer 2mo agoIf anyone is wondering or it's not clear, AI was used. (There's some discussion in a sibling comment).
- daviazpen 2mo agoyep
- GMoromisato 2mo agoI know it's just me, but whenever I see "AI was used" it sounds like "a word processor was used" back in the 80s. I remember all those poorly designed but laser-printed papers with clashing typefaces and ugly clip art. But look at where we are now: the word processor didn't destroy graphic design--it made it more visible and thus more important. AI is the same thing. This specific creation (Neo Radar) is actually very cool, but we all know there is lots of AI slop out there. That's what happens when a new, powerful tool suddenly appears. But as people learn to use AI, we will wonder how we could have lived without it. I'm never going back to pre-AI days, if I can help it. So don't worry--things will be better in a decade or so--I mean, assuming we haven't all ascended in the Singularity or been turned into batteries by ASI.
- moralestapia 2mo agoHey, I saw your comments have been downvoted to death for literally no apparent reason so I had to intervene. HN has become incredibly hostile and toxic to the very audience it created it in the first place (builders, creators, hackers)[1]. I think it's a severe case of envy, "uncs" (lmao) who didn't accomplish anything in their lives feeling left behind now that anyone with a computer can do their "magic". The hard truth is that they were always behind, but they are just realizing it now, sad. So, my advice to you, particularly since you're young, ignore the naysayers. Burn that into your mind, ignore the naysayers. Just do your thing, enjoy life, keep shipping cool stuff! Personally I think your site is great, it looks great as well, great taste w/ the choice of colors/layout etc. I was wondering about the accuracy of this, as RK4 is "good enough" but I didn't think it was this good. I saw your section at the end of the site on this, pretty impressive. Your site is solid on the theory and also the presentation, rarely you see such good execution. Congrats, man! 1: Btw, I ran the numbers and engagement is going down. It's going the way of StackOverflow, and for the same fundamental reasons.
- daviazpen 2mo agoThank you, genuinely. This means a lot, especially coming from someone who actually read through the methodology. On the RK4 accuracy: it surprised me too, honestly. The 412 km RMS against JPL Horizons over 50 years came from combining adaptive timestep (the integrator tightens to ~0.001 days near perihelion) with the full N-body perturbation chain: Sun, Jupiter, Saturn, Uranus, Neptune. Most of the residual error is from ignoring relativistic corrections and non-gravitational forces, which I document as known limitations. As for the naysayers: noted. Shipping is the answer.
- RobotCaleb 2mo agoDelegating comment responses to the machine, too.
- daviazpen 2mo agosorry about that. i'm just trying to reply as best as i can. i'm a bit self-conscious about my english, so I probably overthink what I write.