Gravity is not included in Celestia not because it's difficult, but because it violates Celestia's fundamental design philosophy.
I never questioned this. t00fri brought the subject up and I said I could implement my own.
Calculating positions due to gravitational effects assumes that time is increasing monotonically. The position of an object at time t combined with its velocity and acceleration due to gravitational effects determines the position of that object at time t+1.
That will break down when if you try to model the rotation of the galaxy. You're getting into dark matter, etc.
However, time is not monotonic in Celestia. The user can set the simulation epoch to have any value at any time. The simulation's time can be sped up or reversed. As a result, the formulae which are used to determine the positions of objects must have time as the only independent variable. When one specifies a particular simulation epoch, the positions of all objects in Celestia must be/are uniquely determined.
I feel that you are over complicating the issue, especially at this stage of development. There is a lot in physics that is still not properly understood and while there are classical formulas, they don't integrate well with quantum systems.
From a development point-of-view, short-cuts can be taken. There is no need to replicate every aspect in real-time, or even to model every aspect of gravitional influence. It would be nice to have, however, its just not feasible given the computational overhead that would be required.
Of course, one can use Celestia to define the locations of major bodies and, if the user realizes the constraints and lets time progress "naturally", follow the path of a massless object through their gravitational fields. Variants of Celestia were created years ago that could do this, with the viewpoint affected by gravity. (The "game" Mostly Harmless was one such. It's still on SourceForge, although its author has disappeared.) These days, one would more likely use Lua scripts to implement this without having to modify Celestia at all. But, still, gravity is certainly not something that would be included in the standard version of Celestia.
I have seen Mostly harmless, I think it should be called Mostly Incomplete or Mostly Useless. I could do a lot more in under a week, than has been done in the entire development of that "game".
As for using scripts, I feel that to be an overhead that would slow things down. I've been working on a TCP/IP server componant that can offload gravitional effects to another system. It pumps the results that effect you into the pipeline. Its only a toy at the moment, but its an interesting concept. I borrowed the idea from distributed grid computing.
t00fri:
Come on. That trivial formula becomes of course badly wrong in realistic environments! I really thought we could be talking on a different level...
I'm well aware of this. I told you that it wasn't perfect and that there was a difference between functional realism and accurate representation.
As we know since Kindergarden even a linear combination of such terms is only valid for highly idealized isolated point sources of the gravitational field! Note: this formula implies vanishing diameters of the massive bodies and almost infinitely far separation between them! In reality, this is almost never a valid approximation.
Imagine you are navigating with your spaceship through the Jupiter system with its many close-by moons, each distorting the resulting total field badly, and most of all, it's actually the elliptical shape of Jupiter that requires a completely different expression.
No offence, but I thought you would have exercised a little common sense when interpreting how such a formula would be expanded during its implementation. Of course fields must interact and I had already covered shape and distribution of mass.
The practical issue is that this can all be taken into account in principle, but requires VERY expensive numerical integrations, which we simply cannot afford.
Which I have already pointed out in my last post...
Sorry, but you are merely demonstrating a thorough lack of physics insight, if you claim:
No, I just have no intentions of spelling out every aspect of what I am describing.
I am replying to a post in a forum, not writing a thesis.
As I wrote earlier, game programers don't really care what is physically right or wrong. Usually they dont also have the respective knowledge/formation. From such a perspective your expression is certainly fine . But this is not at all what we have in mind at Celestia development.
I'm not a game developer, nor a member of Celestia dev. I'm modding the engine as I see fit. Its not really a mater of what is right or wrong, but rather, what is feasible in terms of real-time computation on the average PC.
Just believe me that I know VERY well what I am talking about
We all do and not recognising that has been your first mistake...