• Create Account

## Float precision

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

6 replies to this topic

### #1DLife  Members

122
Like
Likes
Like

Posted 15 January 2000 - 05:43 AM

Hi! I''m making a space simulator game and have one problem implementing solar system. The problem is, that my space craft can have coordinates bigger that 150,000,000,000 (distance from Earth to Sun or from planet to planet in meters ). If I place this number in single precision float, I will have problems with spacecraft movement. Spacecraft can be moved by 0.01 meter in each frame, and if I add 0.01 to 150E+9, I will have same number - 150E+9 (float precision limitation). Maybe somone have expirience in space simulators and know how to solve this problem. DLife

### #2_dot_  Members

160
Like
Likes
Like

Posted 15 January 2000 - 06:28 AM

Break up your solar system into different sectors.
Coordinates will be smaller to manage, and your system will be smaller to manage to

### #3logistix  Members

122
Like
Likes
Like

Posted 15 January 2000 - 10:46 AM

Why use meters? That''s basically irrelevant in the grand scheme of things.

That''d take 15,000,000,000,000 frames to cross the solar system. At even 60fps thats almost 300,000 days of real-time just to cross the solar system moving at 0.01 meter (centameter)a frame.

### #4DLife  Members

122
Like
Likes
Like

Posted 15 January 2000 - 09:07 PM

The 0.01 m/frame speed will be used as minimal spacecraft
speed. Maximal speed can be 100 m/frame for example. Also
spacecraft can do small hyperspace jumps.
Anyway difference between solar sytem dimensions and
spacecraft dimensions is very big.

DLife

### #5Starfall  Members

122
Like
Likes
Like

Posted 16 January 2000 - 07:41 PM

Would it be a problem to make your program use doubles instead of floats? Perhaps this would fix the precision problem.

Regards

Starfall

### #6msn12b  Members

390
Like
Likes
Like

Posted 16 January 2000 - 08:32 PM

To be perfectly anal, using doubles will provide the precision for your universe. A double has 53 bits of precision, or about 15-16 digits of precision.

MSN

### #7SiCrane  Moderators

11524
Like
Likes
Like

Posted 16 January 2000 - 08:42 PM

Even if you use doubles, you should probably consider using center-of-mass trees for you data structures anyway. That simplifies considerations such as gravity, etc. At the same time it gives you better precision within your localized areas.

That way a fleet in orbit around the earth wouldn''t have each get a direction vector that includes the earth''s orbit around the sun, you just move the earth-mass system around the sun, and move the ships around the earth relative to each other.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.