Jump to content

  • Log In with Google      Sign In   
  • 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.

  • You cannot reply to this topic
6 replies to this topic

#1 DLife   Members   -  Reputation: 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

Sponsor:

#2 _dot_   Members   -  Reputation: 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

#3 logistix   Members   -  Reputation: 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.

#4 DLife   Members   -  Reputation: 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

#5 Starfall   Members   -  Reputation: 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

#6 msn12b   Members   -  Reputation: 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

#7 SiCrane   Moderators   -  Reputation: 9403

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.



PARTNERS