Please don't call this "full N-body dynamics" if only the outer planets are involved in the integration.
Catloafdev 1 days ago [-]
Well it seems to be hug-of-death'd - how are you loading 41k points of data?
leetrout 1 days ago [-]
you piqued my curiosity so I submitted it for indexing on deep wiki (https://deepwiki.com/azpeeen/NEO-Radar) ... surprised to see it was 1.5gb on disk... 700mb on disk of texture images and doesn't look like they've been quantized / compressed so there's some low hanging fruit there.
I know folks on here have a love / hate relationship but I think this would benefit from moving to cloudflare's stack. Current server is completely dead (has a Hostinger IP so they probably took it down from the traffic spike)
daviazpen 1 days 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.
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 1 days ago [-]
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 1 days ago [-]
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.
thegrim33 1 days ago [-]
Were people not able to accomplish that transition in the times before AI existed?
axus 1 days ago [-]
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.
leetrout 1 days ago [-]
This is the answer. Sometimes you don't even know the word to use to find information.
doctorhandshake 1 days ago [-]
This stage is called ‘keyword foraging’
daviazpen 1 days ago [-]
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 1 days ago [-]
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 1 days ago [-]
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 1 days ago [-]
If anyone is wondering or it's not clear, AI was used. (There's some discussion in a sibling comment).
GMoromisato 1 days ago [-]
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 1 days ago [-]
yep
ecommerceguy 1 days ago [-]
Very cool I'm going to share with our NEKAAL group at Farpoint Observatory.
daviazpen 1 days ago [-]
[dead]
moralestapia 11 hours ago [-]
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 8 hours ago [-]
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 6 hours ago [-]
Delegating comment responses to the machine, too.
daviazpen 5 hours ago [-]
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 5 hours ago [-]
Just say what you mean instead of hoping a machine says it for you.
moralestapia 5 hours ago [-]
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 5 hours ago [-]
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."?
Rendered at 20:51:29 GMT+0000 (Coordinated Universal Time) with Vercel.
I know folks on here have a love / hate relationship but I think this would benefit from moving to cloudflare's stack. Current server is completely dead (has a Hostinger IP so they probably took it down from the traffic spike)
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
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.
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.
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.
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.
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.
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.
Find someone else to bother. This is pathetic.