| 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 |
| |
| ▲ | zamadatix 2 days ago | parent | next [-] | | 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? | | |
| ▲ | axus 2 days ago | parent | next [-] | | When 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. | | |
| ▲ | zamadatix 2 days ago | parent | next [-] | | And 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. | |
| ▲ | leetrout 2 days ago | parent | prev | next [-] | | This is the answer. Sometimes you don't even know the word to use to find information. | | | |
| ▲ | thegrim33 2 days ago | parent | prev [-] | | Were people not able to accomplish that transition in the times before AI existed? | | |
| ▲ | axus 2 days ago | parent [-] | | Novices 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 2 days ago | parent | prev [-] | | Fair 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 2 days ago | parent | prev | next [-] | | 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. | | |
| ▲ | daviazpen 2 days ago | parent [-] | | Thank 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. |
| |
| ▲ | rkagerer 2 days ago | parent | prev | next [-] | | If anyone is wondering or it's not clear, AI was used. (There's some discussion in a sibling comment). | | |
| ▲ | GMoromisato 2 days ago | parent | next [-] | | I 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. | |
| ▲ | daviazpen 2 days ago | parent | prev [-] | | yep |
| |
| ▲ | ecommerceguy 2 days ago | parent | prev | next [-] | | Very cool I'm going to share with our NEKAAL group at Farpoint Observatory. | | | |
| ▲ | moralestapia a day ago | parent | prev [-] | | Hey, 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 a day ago | parent [-] | | Thank 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 a day ago | parent [-] | | Delegating comment responses to the machine, too. | | |
| ▲ | daviazpen a day ago | parent | next [-] | | sorry 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. | | |
| ▲ | RobotCaleb a day ago | parent [-] | | Just say what you mean instead of hoping a machine says it for you. |
| |
| ▲ | moralestapia a day ago | parent | prev [-] | | The guy is a 17 yo from Brazil, oh yeah he used AI to correct his spelling, big deal ... Find someone else to bother. This is pathetic. | | |
| ▲ | RobotCaleb a day ago | parent [-] | | He did not use AI to correct his spelling. He used AI to think for him. Did he misspell "As for the naysayers: noted. Shipping is the answer."? |
|
|
|
|
|