Why is landing on sedna a little jittery?

Foofoo14

New member
Joined
Jun 5, 2009
Messages
70
Reaction score
0
Points
0
What i mean is, how come celestial objects in orbiter such as planets,rocks, ect, seem to be more unstable the further you go out? For any one that has ever had the new earth addon, i mean moving on that planet, you're violently shaken up and down. Is it that orbiter has a little trouble with stuff that is way out there?
 

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
Is it that orbiter has a little trouble with stuff that is way out there?
Yes. The farther out you get, the less numerical precision there is.
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,038
Reaction score
1,275
Points
188
Location
Dallas, TX
Yes.

Orbiter represents distances as numbers with a floating decimal point and a limited number of decimal places. The bigger the number is, the larger the difference is between it and the nearest number to it that Orbiter can represent.

For example: Let's say that we're representing distance with a 5 digit decimal number. The number is encoded like this, one digit for the exponent (how far the decimal point is shifted, and four digits for the rest of the number. 01000 means 1.000 with the decimal point shifted 0 spaces, 11000 means 1.000 with the decimal point shifted 1 space (10.00), etc.

If we're 1 meter from the center of our system, then the number will look like this: 01000, and will mean 1.000. The closest number to this that we can represent with our system is either 00999, or 01001 (0.999 or 1.001). so at one meter away, the smallest change in distance is a millimeter. Now let's say we're a billion meters from the center of our system: Now our number looks like this 91000 (1.000 with the decimal point shifted nine spaces, or 1,000,000,000). The closest number we can represent to this number with our system is 90999 or 91001, which represent 999,000,000 and 1,001,000,000. The smallest change in distance we can represent at 1 billion meters away is a million meters, or a thousand kilometers.

Now, the system Orbiter uses is a bit different. It uses binary instead of decimal, and instead of 5 digits, uses something more like 64, with 11 for the exponent, 52 for the number, and one for the sign.
 
Last edited:

DarkEnergy

Addon Developer
Addon Developer
Joined
Jun 7, 2009
Messages
84
Reaction score
0
Points
0
Are there any plans in Orbiter's future to implement a more precise way of doing this, or is it even possible? I can't help but think that there must be another way that eliminates the need for a huge variable that measures the enormous distance from the sun. Also, wouldn't using this method eventually overflow the variable type (I'm guessing a Float) if someone tried to go further than the variable's maximum value?

Many professional games are able to simulate huge environments without a loss in precision. Of course, the distances probably aren't measured in nearly as much precision as a space simulator or as big.

Can anybody clear this up with me?
 
Last edited:

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
Are there any plans in Orbiter's future to implement a more precise way of doing this, or is it even possible? I can't help but think that there must be another way that eliminates the need for a huge variable that measures the enormous distance from the sun. Also, wouldn't using this method eventually overflow the variable type (I'm guessing a Float) if someone tried to go further than the variable's maximum value?
You may be interested in this thread: http://www.orbiter-forum.com/showthread.php?t=7940

Martin describes a method that Orbiter is already using to try to mitigate the problem.

Many professional games are able to simulate huge environments without a loss in precision. Of course, the distances probably aren't measured in nearly as much precision as a space simulator or as big.

Can anybody clear this up with me?
There are no professional games that I'm aware of which simulate environments as huge as a full-scale solar system.
 

T.Neo

SA 2010 Soccermaniac
Addon Developer
Joined
Jun 22, 2008
Messages
6,368
Reaction score
0
Points
0
I've always wanted Orbiter to have support for other stars and other star systems, in a manner similar to Celestia.

Having a reference frame that moves with the observer would be a possible solution.

Unfortunately, this would probably mean an entire rework of the physics portion of Orbiter.


There are also other issues; you can't have light from anything other than the Sun, and this poses a problem for binary systems- you cannot model two stars in a system. Nor can custom star textures be implemented- there is only one "star.dds" file, and replacing this texture with that of a red dwarf star (say) would make all stars red dwarf stars...

Having light from both stars is not absolutely necessary though, and one way of simulating a binary star is to have the lower mass star simulated as a planet. This also produces problems- "planets" (moons) orbiting the "star" (planet) cannot have moons of their own.

I really hope Martin takes the trouble to do interstellar support for Orbiter. Every time I star a scenario for a planetary system some 50 light years away and still see our familiar night sky it gets a bit unsettling. :p
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,038
Reaction score
1,275
Points
188
Location
Dallas, TX
Are there any plans in Orbiter's future to implement a more precise way of doing this, or is it even possible?

It's possible, just difficult to do efficiently. Computers use a specific format internally for floating point numbers, and using a different format in your program costs you some speed.

I can't help but think that there must be another way that eliminates the need for a huge variable that measures the enormous distance from the sun. Also, wouldn't using this method eventually overflow the variable type (I'm guessing a Float) if someone tried to go further than the variable's maximum value?

Any variable on a computer has a maximum value. At the very least, you'll run into problems when the variable has more digits than there are bits in all the memory and storage devices on your computer. The maximum value for a double-precision float (64 bits) is more than enough as far as overflow (many times the size of the universe). The problem is loss of precision as you move away from the sun.

Many professional games are able to simulate huge environments without a loss in precision. Of course, the distances probably aren't measured in nearly as much precision as a space simulator or as big.

Exactly. The environments they're simulating are tiny compared to that which Orbiter covers.
 

Izack

Non sequitur
Addon Developer
Joined
Feb 4, 2010
Messages
6,665
Reaction score
13
Points
113
Location
The Wilderness, N.B.
Is this the same difficulty that causes Ariel to fly out of the Solar System at high time acceleration?
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,038
Reaction score
1,275
Points
188
Location
Dallas, TX
Having light from both stars is not absolutely necessary though, and one way of simulating a binary star is to have the lower mass star simulated as a planet. This also produces problems- "planets" (moons) orbiting the "star" (planet) cannot have moons of their own.

Also, the orbital velocities of circumbinary planets are calculated as if they were orbiting just the star, not the binary.
 

T.Neo

SA 2010 Soccermaniac
Addon Developer
Joined
Jun 22, 2008
Messages
6,368
Reaction score
0
Points
0
Also, the orbital velocities of circumbinary planets are calculated as if they were orbiting just the star, not the binary.

Well, this is what would happen in practice, but couldn't orbital elements be entered in for the planet that would make it appear that it were orbiting both stars?
 

DarkEnergy

Addon Developer
Addon Developer
Joined
Jun 7, 2009
Messages
84
Reaction score
0
Points
0
T.Neo said:
I've always wanted Orbiter to have support for other stars and other star systems, in a manner similar to Celestia.

This got me thinking, how does Celestia keep its precision in the huge environment it simulates? Or is it also not precise at its largest distances? Thanks for clearing my previous questions up also.
 

T.Neo

SA 2010 Soccermaniac
Addon Developer
Joined
Jun 22, 2008
Messages
6,368
Reaction score
0
Points
0
This got me thinking, how does Celestia keep its precision in the huge environment it simulates? Or is it also not precise at its largest distances? Thanks for clearing my previous questions up also.

I've also wondered this. I know celestia can simulate down to spacecraft size, but is it all that accurate at all? I mean, it must have some degree of accuracy or else all those stars would be shaking around the place, but what sort of accuracy does it have and how is it achieved?
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,038
Reaction score
1,275
Points
188
Location
Dallas, TX
Well, this is what would happen in practice, but couldn't orbital elements be entered in for the planet that would make it appear that it were orbiting both stars?

You'd have to write a DLL. The problem isn't the orbital elements, per-se, but the velocities. If you give the planet the elements for a circular orbit at 1 AU, it will orbit the primary at one AU with the same velocity it would have if the secondary wasn't there (it doesn't "see" the secondary's gravity). Spacecraft, meanwhile, will orbit the pair.
 

DarkEnergy

Addon Developer
Addon Developer
Joined
Jun 7, 2009
Messages
84
Reaction score
0
Points
0
I've been researching about the accuracy of Celestia and finally came up with some interesting results. It seems like Celestia has the very same problems with accuracy, which is why you can only visit stars up to 16,000 ly, although that is much further than is represented in Orbiter..

This is from a post in this link: http://shatters.net/forum/viewtopic.php?p=78873#78873

ajtribick said:
Unfortunately the code used in Celestia only allows stars out to a distance of 16,000 light years, which isn't far enough to populate the whole of our galaxy with stars, let alone other galaxies. Beyond this distance, the floating-point format used is too inaccurate to represent star positions, and distances to such distant objects have large errors associated with them anyway.

There have been proposed workarounds to this, but (as far as I am aware) no code for it. There are several issues to sort out before the 16,000 light year limit is overcome.
 
Last edited:

Izack

Non sequitur
Addon Developer
Joined
Feb 4, 2010
Messages
6,665
Reaction score
13
Points
113
Location
The Wilderness, N.B.
If it were written as a spacecraft, you couldn't land on it then, right? (Not saying you'd WANT to land on it...:lol:)
 
Top