Future Ideas
Thought I would get this thread kicked off as there are going to be many, MANY updates and ideas for the future of this project.
Anyways, I would throw in my two cents by stating that one thing I would like to see if maybe some sort of audio clips for those who might be sight impaired that might not be able to read the text, yet still want to hear a synopsis of a planet, star, moon, etc.
Anyways, I would throw in my two cents by stating that one thing I would like to see if maybe some sort of audio clips for those who might be sight impaired that might not be able to read the text, yet still want to hear a synopsis of a planet, star, moon, etc.
Comments
The planetarium has a WikiBot that grabs the top section of the Wikipedia page. Since there will be 1000s of bodies with wiki entrees, we would need a robot to read all of them. Perhaps instead (or in addition?) we should write custom text (w/ real human voice) for the largest and most interesting bodies...?
I've been puzzling over the Wikipedia licence page to try to figure out if this feature is allowed in commercial projects. Wikipedia is broadly under GPL licence so ok for non-profit. If it's not allowed in commercial, I'll pull it out to be a separate addon so developers don't get confused. This might be further reason to write custom entries for major bodies. (Also, the wiki is a little dry...)
EDIT: My understanding now is that a Wikipedia excerpt will be perfectly OK to distribute in a for-profit project (including a voice reading). Based on private messaging it seems we will have a voice wiki excerpt and/or a shorter voice intro to major bodies, perhaps quite soon after initial release.
Yeah, I don't know why we don't have shadows. I wish we did. I've gone in several times to solve this and then got distracted by something else...
So, n-body, and real-world non-spherical effects, etc. Well, I've been saying "orbits on rails" as a bit of a deflection. I've collected a couple 1000 page tomes (e.g., Fundamentals of Astrodynamics and Applications, 4th ed.) which I sometimes press against my head in an attempt to internalize orbital mechanics. In fact, what we are doing is just a different coordinate system. It's not more or less "on rails", tbh. It's just a coordinate system that happens to be more convenient in some ways and less convenient in others. So instead of x, y, z, vx, vy, vz (& time), we have a, e, i, Ω, ω, M0 (& time). In our coordinate system, it just so happens that things do a simple (unperturbed, 2-body) orbit if you leave them alone (in the same way that objects in euclidean coordinates travel in a straight line if you leave them alone).
However, use of orbital elements as coordinates doesn't preclude full n-body simulation. It just makes it not-necessary for well-understood perturbations. We already can make a sun-synchronous orbit by simply giving a delta Ω-rate of 360°/yr. You would need a very powerful computer to capture that accurately with F=ma updates in euclidean coordinates. Similar argument for Lagrange points, tadpole orbits, etc. The math for those is hairy indeed, and involves conversion into yet more coordinate systems (rotating frames). But mainly it involves pushing a, e, i, Ω, ω, M0 around in various ways.
Obviously, firing a rocket is easier to calculate in euclidean coordinates.
So, the big question is how to implement a spaceship. My thinking right now is that it is just a coordinate switching problem. The Orbit class provides conversion functions. Use them! Then let Orbit carry you on your current geodesic. Let Orbit do the heavy lifting, and don't worry that it runs internally on a, e, i, Ω, ω, M0 coordinates (who cares? that's under the hood!). (Well, we're not quite where we need to be yet. For example, I don't know how to calculate Ω-rate given a particular orbit around a particular not-quite-spherical body. But I know it can be done with some pretty good approximations.)