Page 1 of 2

Will GRAVITY ever be added?

Posted: 06.08.2003, 09:25
by Captain Chaos
My wish list is that MASS will warp the space-time you travel through- even without any relativistic distortion...

This would seem to need to be coded in a new version, probably not possible to modify the current ver.?

This would also allow slingshot flight attempts.

Another feature that I would love to see on the same note is to have colonies on each of the solid planets/ moons and having the user land on any solid surface. Flying through planets destroys the "suspension of disbelief."

I love this program though, and think it is the best available and it is FREE.

PS what happened to the Black Hole add on, as that site is down, anyone posting that on a file-sharing P2P network? All Celestia should be on P2P networks.

Posted: 06.08.2003, 12:18
by selden
It is extremely unlikely that gravity will ever be added to Celestia itself, since the necessary numeric integrations violate Celestia's underlying design principles. The position of every body in Celestia is calculated knoing only the time. High-speed formulas are used which do not depend on the positions of any other objects. Calculating n-body gravitational interactions cannot be done using a formula. You have to keep track of all of the bodies' positions on an ongoing basis and it involves a lot of computing.

You might consider investigating the Celestia variant "Mostly Harmless". At least one version of it includes gravitational effects on the observer, which is more easily handled than the general n-body case.

Colonies on other planets could be the topic of an Add-on. They could be created using functionality that's already available in Celestia. You should consider doing one yourself.

Celestia does include a command which will "land" you on the surface of the selected object. I think that being able to go inside objects is an important feature. This lets one design objects that can include information about their internal structure. I do agree, though that it would be nice to be able to include some kind of collision avoidance.

I can't help with your black hole question. Maybe someone who has a copy can make it available for one of the newer server sites.

Posted: 06.08.2003, 22:42
by Mikeydude750
Celestia is just an exploration program, but it could also be used as the engine for a game as well with those features(Mostly Harmless...by the way, is it going any further in development? I like the idea of it).

Posted: 07.08.2003, 04:16
by marc
The MH project hasn't been forgotton, and will be back.

Posted: 08.08.2003, 01:50
by Brendan
Being albe to go inside objects could be useful for showing the mantles and cores of planets. I plan on trying that after finding the measurements somewhere. I'll start looking at the Nine Planets and Views of the Solar System web sites.

Brendan

Gravity effects on observer

Posted: 19.08.2003, 04:25
by xnk
I think having the program compute gravitational effects on the observer would be a good idea. Having written n-body calculation programs myself, I know that leaving the planets and other large bodies in predefined orbits is a good thing. It would be nice to be able to realistically fly from one planet to another using gravity though. Perhaps even having a script to start/stop/throttle your rocket engine and change direction. I wrote a small program that calculated the Earth and a rocket, with multiple stages and realistic fuel consumption etc, but it was in Perl and hence had very little useful graphical output. Seeing this in Celestia would be great.

Posted: 20.08.2003, 18:45
by LionAM
I think I know what you want:
Orbiter http://www.medphys.ucl.ac.uk/~martins/orbit/orbit.html
It's free too.

Alex

Posted: 21.08.2003, 03:09
by xnk
I'll check it out, but I really was hoping that just some simple functionality could be built in to Celestia. It wouldn't take much and, if i were a better programmer, I'd do it myself. All it would take would be adding mass data to all the bodies in the Sol system and some simple equations.

Posted: 21.08.2003, 03:53
by marc
xnk,
Ive done all this before, heres a screenshot..
Image

The latest versions of MH have gravity disabled and just do the SQL stuff.
Like selden said, I don't think gravity will ever be included in Celestia. Gravity on its own is just a novelty and is pretty cheesy by itself. Its hard to make Gravity fit in without making Celestia into a full blown spaceship simulator (which it is not).

Anyway, for some gravity effects have a good look through these. The observer even has thrusters. Its all prototype stuff so read the readmes carefully.

http://www.shattersnet/forum/viewtopic. ... ty+effects

http://www.celestiaproject.net/forum/viewtopic ... ty+effects

Posted: 21.08.2003, 18:20
by Paolo
Instead of a full gravity implementation in Celestia, that like Mark has said should transform the program in a spaceship simulator and like Selden said is too complex to be used for the calculation of the orbits and of the paths for the objects in realtime, I would like to see implemented a simpler feature. :)

I think that at the end gravity is too much important to be excluded from a space simulation like Celestia because every space event is driven by gravity. :? So specially if Celestia is used to explain the space behaviour some gravity implementation should be added.

So at the end of this preamble I would like to see in a future version of celestia an indicator (a gauge or so) that shows the strenght of the gravitational field at the observer position. :D

As said by xnk adding mass data to all the bodies and some simple equations should be sufficent.

A more complex implementation should also show the direction of the resulting gravitationl vector at the observer position.

All of this should be useful for example to explain the meaning of the Lagrangian points, or why is used the slingshot effect by current probes spaceflight, etc.

Bye - Paolo

Posted: 21.08.2003, 18:27
by xnk
Correct. All I want is mass data included in the SSC's and the equations for processing this data. The planets and moons may continue on their preset elliptical orbits til the cows come home - no need to modify the basic idea of the program. I like the MH idea of having a key to toggle them on and off. However I don't see how adding gravity turns Celestia into a full blown space simulator.

Consider this

Posted: 21.08.2003, 18:51
by Adelvunegv_waya
Celestia is, in and of itself, a 3d space simulator, in that it does simulate space in real time. Having gravity added to the package would not be turning into a game simulator, but carrying the concept to its next logical step.

However, I think that if full gravity effects were added to the system, you would end up with a 70 or 80 meg download easy.

I agree that some form of limited gravitational effects would be nice, at least inside solor systems or near stars.

and the ability to toggle it on and off would be a plus.

Posted: 21.08.2003, 20:42
by Cormoran
I dunno about you guys, but I view Celestia as the ultimate Stellar Cartography Tool (anyone see 'Generations'?).

I prefer the idea of being Olaf Stapleton's 'wandering viewpoint'.

This is not to say I won't be grabbing Mostly Harmless when it gets its Solar Systems working again :)

Cheers,

Cormoran

Posted: 21.08.2003, 21:07
by HankR
Here's my view:

Celestia is a space simulator, but not a spaceFLIGHT simulator. In Celestia, the observer moves freely through space and time, without the limitations of motion imposed by physics. The Celestia user has a God's-eye view of the cosmos. In comparison to the mobility of deity, travel by rocket (or any other physically constrained means) is extremely limited.

In order to provide this flexibility in viewing the cosmos, Celestia requires that the position of each object be efficiently computable for any given point in time. Numerically integrating the gravitational equations of motion on demand does not meet this requirement. Of course, "xyz" files with positions pre-computed using integration techniques do meet this requirement, and are supported by Celestia. But real-time spaceflight simulation is incompatible with the Celestia navigation paradigm.

That's not to say it couldn't be done. But I think it would be a bit like mixing oil and water.

- Hank

Posted: 21.08.2003, 21:14
by xnk
Hank, I disagree entirely. If I can write the necessary equations out and get a working implementation in a 2 page Perl script with very little effort, it can be very easily done in Celestia. I think you are dramatically underestimating how easy it is to implement this feature.

I fail to see how having the observer choose to be affected by gravity conflicts with the idea of Celestia. As I've stated multiple times, I am not asking for the positions and velocities of the planets and moons to be calculated using gravitational equations. Just the observer and/or an observable object.

Celestia already contains the feature of being able to accelerate and steer around, which in and of itself is a step away from the strictly God's-eye view philosophy. This feature would be greatly augmented by the ability to whip around planets realistically and put yourself in orbit, etc.

Posted: 21.08.2003, 21:46
by t00fri
xnk wrote:Hank, I disagree entirely. If I can write the necessary equations out and get a working implementation in a 2 page Perl script with very little effort, it can be very easily done in Celestia. I think you are dramatically underestimating how easy it is to implement this feature.

I fail to see how having the observer choose to be affected by gravity conflicts with the idea of Celestia. As I've stated multiple times, I am not asking for the positions and velocities of the planets and moons to be calculated using gravitational equations. Just the observer and/or an observable object.

Celestia already contains the feature of being able to accelerate and steer around, which in and of itself is a step away from the strictly God's-eye view philosophy. This feature would be greatly augmented by the ability to whip around planets realistically and put yourself in orbit, etc.


I am not sure what your (theoretical) physics background is. Mine is not exactly zero;-). To include gravitational interactions in a realistic manner is certainly not a matter of a 2 page Perl script! Of course in those 2 pages you may code something that amounts to gravitational interactions in certain limiting i.e. exceedingly idealized situations. But these special conditions are only met in relatively rare cases. Notably, you will not know with such dramatically simplified modelling, when your results are becoming grossly wrong...

Just imagine maneuvering in the gravitationally "polluted" Jovian region. I am sure --given your self confidence in gravitational matters -- you know what a Laplacian plane is in this context. For those who do not know what it is: it lies in the position where the components of the disturbing forces perpendicular to it balance one another, leaving no othorgonal force. In most cases, the principal disturbing forces come from the oblateness of the primary (Jupi) and the action of the sun!

You seem to be telling us that such complex and most important effects on a small mass probe like a satellite or spaceship are all contained in your 2 page Perl scripts?

I suppose somebody gave you the excercise to compute the gravitational effects due to an independent n-body gravitational potential. That I could code in even less than 2 pages of Perl...

This may be good enough for an exercise class or for a space shooter game, but certainly not for Celestia...

So far, the philosophy in Celestia is either to account for a physical effect accurately, or leave it out altogether.

Not a bad recipe at all...

Bye Fridger

Posted: 21.08.2003, 22:18
by xnk
I think you're overcomplicating the issue. My knowledge of the Jovian moon system's complex gravitational architecture has little to do with my ability to write a program to handle relatively simple mathematical equations. The equations are the same regardless of what environment you are in. For the scale involved, we can disregard relativity as a significant factor. The satellite or observer's mass is considered to be a negligible fraction of the planetary bodies, so we can leave the planets in their fixed orbits.

For each planetary body that is within reasonable range to have a gravitational effect on our satellite, we calculate the magnitude of the gravitational force as a vector. Add up all the vectors of all the planetary bodies and you get a net acceleration in one direction. Apply this to your current velocity and you're done.

Repeat after a short period of time i. Obviously, as i gets closer to zero the results will be more precise while simultaneously becoming more computationally intensive, but you don't need it to be perfect and you'd be shooting yourself in the foot if you tried.

It is clear that you have more experience in this field than me. I'm just a sophomore in college studying for my physics major, but that has little to do with the issue at hand. I wrote a similar program in high school on my graphing calculator.

My point is that we must not get carried away by having too high tolerances. Celestia uses preset orbits for all the Jovian moons, and no one of these moons is affected by any other body than Jupiter itself. Therefore we are already giving away a lot of precision, but that's fine with everybody.

Posted: 21.08.2003, 22:33
by selden
xnk

From your description, you are making use of the simplifying assumption that the gravitating bodies are spheres. You aren't taking into account the effects caused by non-spherical mass distributions. These are particularly important for close approaches to oblate planets like Jupiter and Saturn. This is what Fridger was referring to. As I recall, the mathematical tools needed to handle these properly are usually taught in 3rd year physics courses.

Posted: 21.08.2003, 22:41
by xnk
Point taken. Given my interest in these things I think I'll read up on it in my own time before I get to my third year of my degree.

I stand by my general idea that something imperfect is better than nothing at all, as long as it doesn't compromise the rest of the program, which it won't.

Posted: 21.08.2003, 23:22
by HankR
I believe that currently in Celestia, the observer's motion is "outside of time" with respect to the cosmic simulation. Thus if the user slows, or stops, or reverses the simulation time, it affects the motion of the planets and other objects, but it does not affect the motion of the observer. So how gravitational effects would apply to observer motion in Celestia is perhaps not entirely obvious.

- Hank