Re: Double precision

New Message Reply Date view Thread view Subject view Author view

Michael Boccara (boccara++at++MIT.EDU)
Thu, 27 Aug 1998 11:33:50 -0700


tesmith wrote:
>
> I am beginning a project dealing with a model of the Earth. I will be
> viewing it from orbital altitude down to the surface at a few selected
> locations. To pull this off I need double precision to display it all.
> I am told Performer only handles floating point precision. Is this true?
> If Performer can only handle floating point, what other methods are used
> when you need to see large databases?
>
> I know the concept behind paging, but when I'm at orbital altitudes, I'll
> be able to see about 3000 miles of earth (at a lower level of detail
> of course), and I really need double precision.
>
> Any response is welcome.
>
> Tom Smith
> =======================================================================
> List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com

The basic methode for coping with double precision, and moreover for a space
application, is to put the origin of the pfScene as close as possible to the
camera.
My method was to know in double position the absolute position of the various
spacecrafts from the Earth Coordinate System (origin at center of earth), and
the cam's postion in float precision related to one of those spacecrafts.

When your camera is positionned in outer space, and the scene origin on one
neighboor spacecraft, the large coordinates are reported to the earth's position
and the far away other spacecrafts. The earth will be big enough to handle the
loss of precision without jittering, and the other spacecraft are too far to be
seen !

To give you some kind of mathematical formula, the needed precision for
visualizing a 3D object is :
precision_needed = object_size / object_distance_from_origin

Also, when you will deal with drawing both spacecrafts and the earth, be careful
with the limitation of the Z-buffer precision :
You need to visualize close objects, so to put the near to 1 meter or so, and
also to see at least the earth, so to put the far to at least 20000km. This is
overwhelming for the supported Z-buffer precision if you want to avoid the
scattering of the earth's polygons.
The best slution is to use 2 superimposed channels, with complementary near/far.

Hope this helps,

Mike

-- 
___________________________________________________________________
Michael Boccara     Massachusetts Institute of Technology
                    Research Laboratory of Electronics
(617) 253 0005      Virtual Environment Technologies for Training

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Thu Aug 27 1998 - 08:32:34 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.