Edit: see latest version here.
Current data downloaded and saved in browser to minimize number of downloads (updated every 4 hours). Not a lot of extra functionality at the moment. Time accelerated: 1 second = 1 minute.
Edit: see latest version here.
Current data downloaded and saved in browser to minimize number of downloads (updated every 4 hours). Not a lot of extra functionality at the moment. Time accelerated: 1 second = 1 minute.
that’s so many!
way more than I thought there would be
I’m guessing that’s what this large ring is? : O so cool : D
Yup! The large ring is geosynchronous orbit, which includes geostationary orbits. Edit: The graveyard is probably not shown. These are active satellites.
so the graveyard is even higher? that’s so high lol
amazing stuff! : ))
That’s so cool, I had no idea there was an API for that! Why is the earth mirrored though ?
Apparently an old method of wrapping used by software at the time, retained by babylon for backward compatibility (changing would be a massive “breaking change”). One solution I’ve seen is using frontUVs in CreateSphere, but I can’t seem to get that to work. Scaling value of (-1,-1,1) does work, so I’m going to try that with added bakeVertices on the earth sphere. An update with this as well as on/off control and speed control coming soon. Hopefully can get picking with info display, too.
Better accuracy, but stull not fully verified. Now shows the sun (light) moving across the earth.
Turn satellites on/off, adjust speed. The satellite positions are accurate-ish only within a two week window.
That looks better
It would be even better with satellite movement being interpolated right now, they kind of teleport so it is not easy to track one satellite
Agreed. Will try to implement. I’ve been thinking about how to do that at various speed settings. Need a close enough “orbit interpolation” but maybe that’s a curve with three points. How many points define an ellipse? Maybe b-spline is sufficient?
If the updates are close enough in time a simple linear interpolation would probably work
You can also use the tangent to the trajectory to make a bezier curve.
Really depends on the timestep used, but from your demo it looks like a linear interpolation could work nicely
What’s weird is that only north and south America are mirrored. (At least that’s what it looks like to me.)
Select orbit regime in upper right to see the satellites in that regime. Select a satellite from the table to zoom to that satellite in the 3d display. Select a satellite in the 3d display to highlight its row in the table. Expand the table using the “<” in the upper left. Click again to collapse.
I have not fully implemented the speedups suggested. If anything, this version is slower. It also has bugs in the calculations of orbit.
I’ve added some pretty big additions to help me debug calculations. I’ve updated this version to be ECI instead of ECF, which means the earth should be rotating (you’ll notice that it doesn’t). I’ve added elliptical paths (also not correctly calculated) as well as a table of satellite data regarding orbits. This is data coming from the TLEs, lightly processed by the sgp4 calculation.
Most resources indicate that an elliptical path as I’ve drawn it is not very accurate. My hope is that it is somewhat accurate for at least the current revolution. I can’t cast judement on that without correcting the more major calculation problem in the ellipse drawing.
There are still bugs in the UI, but I’m hopeful that it’s sufficient to do some debugging of the calculations.
Still not faster, but getting there. Refactored to, soon, switch to using thinInstances. Much improved interface, though may need to reload instead of just “Run” playground a second time.
Nice, looks like the satellites are moving on their orbits LEO is so crowded as well haha
MUCH faster and smoother. Now updating on every frame. There is some reversion in functionality.
Setting speed to “15m” is the sweet spot. Viewing from polar at 15m clearly shows groupings in LEO that are rotating around the poles at nearly even longitude intervals. Also watch GEO satellites rotate slowly (in ECI) around earth. Many of these are likely geostationary, but don’t look like it because earth doesn’t rotate in this version (but should).
The bad:
The good:
Edit: performance obtained by going from Instances to ThinInstances and updating entire matrices buffer at once. I also cranked down the segments per sphere from 32 to 2. This is only noticable when zooming way in to a single satellite.
Nice much smoother
Also funny how you can see satellites avoiding the polar region
sun rotates around earth, but not sure if it’s right.
Everyone knows that’s absolutely right Jokes aside, it is completely equivalent as long as you only consider the Sun-Earth system
A small speedup by directly updating the matrix[12,13,14] only.
A lot of UI cleanup. Added the ability to
It’s pretty fun to view Highly Eccentric Orbits (HEO) with Big and at 2h, 4h, or 6h speed.
Still a few things to fix: thinInstance pick, thinInstance color, earth rotation.
Very smooth and satisfying to see them zoom around haha
I think the orbit picker needs some work, maybe you could use the BabylonJS GUI?
Great idea!
I fixed the calculations for regimes and created a visualization for the main cutoff altitudes that define them (“Regimes” button on far right).
(edit: turned down alpha for regime spheres)
I still have to show some of the inclination boundaries, but I wonder if there’s a usable arrangement of regime buttons besides a straight vertical list?