Virtual Planetarium in Cyberstage
Total Page:16
File Type:pdf, Size:1020Kb
Virtual Planetarium in Cyb erStage Valery Burkin, Martin Gob el, Frank Hasenbrink, Stanislav Klimenko, Igor Nikitin, Henrik Tramb erend GMD { German National Research Center for Information Technology Abstract. We describ e an educational application in virtual environ- ment, intended for teaching and demonstration of basics of astronomy. The application includes 3D mo dels of 30 ob jects in the Solar System, 3200 nearby stars, a large database, containing textual descriptions of all ob jects in a scene, interactive map of constellations and to ols for search and navigation. The metho ds, needed for visualization of di erent scale astronomical ob jects in virtual environment, are describ ed. Mo dern educational pro cess actively uses the metho ds of computer graphics and scienti c visualization. Wide opp ortunities are op ened by emerging technology of virtual environments, which can be used for a creation of high interactive virtual lab oratories intended for teaching di erent disciplines. In this pap er we describ e an exp erimental course on basics of astronomy, which is delivered inside the immersive virtual environment system CyberStage, installed at GMD, and gives a p ossibility to explore interactively the Solar System and surrounding stars. The rst section presents the virtual environment system CyberStage. The second section outlines Avango, the main software comp onent driving this sys- tem. The metho ds used for mo deling of astronomical ob jects are describ ed in the third section and summarized in conclusion. 1 Cyb erStage The CyberStage [1] is CAVE-like [2] audio-visual pro jection system. It has ro om sizes (3m3m2.4m) and integrates a 4-side stereo image pro jection and 8- channel spatial sound pro jection, b oth controlled by the p osition of the user's head, followed by a tracking system (Polhemus Fastrak sensors). The sound pro- jection is completed by vibration emitters built into the o or of the system and allowing for rendering low frequency signals p erceivable through feet and legs and by the eightchannel-surround-sound system which is fed byIRCAM's ro om acoustic software Spatilisateur [3]. Shutter glasses (Crystal Eyes) are used for stereo image p erception. An SGI Onyx 2 with 4 In nite Reality 2 graphics sub- systems and 12 MIPS R10000 pro cessors generate eight user controlled images. Each pip e generates 11 million shaded triangles per second (p eak rate). The display resolution is 1024 x 768 pixels at 120 Hz for each of the four displays. To create the illusion of presence in virtual spaces, the Cyb erStage system provides various interfaces and interaction metaphors to visually and acoustically resp ond to the user's actions. These interfaces allow for navigation in virtual spaces and manipulation of virtual ob jects. The software driving the Cyb erStage is the Avango [4] application development to olkit. 2 Avango Avango is a programming framework for building distributed, interactive VE applications. It uses the C++ programming language to de ne two categories of ob ject classes. Nodes provide an ob ject-oriented scene graph API which allows the representation and rendering of complex geometry. Sensors provide Avango with it's interface to the real world and they are used to imp ort external device data into an application. All Avango ob jects are eldcontainers, representing ob ject state information as a collection of elds. They supp ort a generic streaming interface, which allows ob jects and their state information to b e written to a stream, and the subsequent reconstruction of the ob ject from that stream. This interface is one of the basic building blo cks used for the implementation of ob ject distribution. Avango uses connections between elds to build a data ow graph which is conceptually orthogonal to the scene graph, and is used to sp ecify additional relationships between no des, which cannot be expressed in terms of the stan- dard scene graph. This facilitates implementation of interactive b ehavior and the imp ort of real world data into the scene graph. In addition to the C++ API, Avango features a complete language binding to the interpreted language Scheme [5]. Scheme is a general purp ose programming language descended from Algol and Lisp. It is a high level language, supp orting op erations on structured data such as strings, lists and vectors. All high level Avango ob jects can b e created and manipulated from Scheme. The Avango itself is based on SGI Performer to achieve the maximum p os- sible p erformance for an application and addresses the sp ecial needs involved in application development for virtual environments. Along with high p erformance rendering this framework allows live video sources as well as prefabricated anima- tions to b e imp orted into virtual worlds. Advanced rendering tasks like culling, level-of-detail switching and communication with the graphics hardware are all handled by Performer. Whenever the underlying hardware allows, Performer utilizes multiple pro cessors and multiple graphics pip elines. 3 Solar System: algorithms of visualization Our main goal is to represent all ob jects in the Solar System preserving cor- rect angular sizes from any viewp oint, as they would b e visible from a traveling spacecraft. There are several reasons why this cannot b e done in a simple way, for example, representing the Solar System as Op en Inventor's static geometry le. Sizes and distances for ob jects in the Solar system are to o di erent: maxi- 9 mal ratio of scales is ab out r (Sun-Pluto)/r (Deimos) 10 . Usually (in Inventor, Performer and Avango) the geometric shap es in a virtual scene and p osition of observer in it are describ ed by single precision (4 bytes) real numb ers. This pre- cision is insucient to represent the ob jects with so di erent scales, as a result, trembling and other undesirable e ects app ear. These problems were removed using the metho ds describ ed b elow. Non-linear geometrical model of the Solar System was constructed in the follow- ing three steps: R s 3 r r 2 0 r 1 Rinf r 1 a) b) c) Fig.1. Non-linear geometrical mo del. Initially ( g.1a) all planets have the physical sizes and lo cated on their actual orbits. The observer travels along straight lines and can p enetrate inside the planets. Then, using a convenient non-linear transformation, which maps the interior of planets to a thin outer layer ( g.2): r 1 ( Rδ =(1) R 1+( 1) (r =(R )) ; r <R 0 0 (r )= r R 1 0 r ; r R ; =1:5 0 0 Rδ r 0 Fig.2. r (r ) dep endency. 1 0 we push out the observer from the interior. Instead of the collision, the tra jectory of observer smo othly rounds the planet and then returns to the initial straight- line course. (This metho d simultaneously implements no-collision algorithm and route planner.) On the second stage ( g.1b), for all planets which are suciently close to the observer, we apply a uniform scaling with a center at the p osition of observer and co ecient, given by a function ( g.3): s1 1 0 r = r =s ; R = R=s ; s = s ((r R )=d); 2 1 1 1 1 1 1 x(2 x); 0 <x<1 s (x)= 1 1; x1 1x Fig.3. s (x) dep endency. 1 After this transformation the minimal distance from the observer to the sur- 0 face of the planet is given by a formula lim (r R )= lim (r R )=s = d=2. 2 1 1 r !R r !R 1 1 4 Wetookd=310 km (approximately 5 Earth's radii). The describ ed e ect results in the following. After the distance d, the further approaching of the planet's surface is mo derated, and simultaneously, its angular size starts to increase without a b ound. This displays the e ect of approaching a large celestial b o dy. Then all linear sizes in the system are multiplied by a global scaling factor 8 0 0 ~ s =510 : r~ = r s ; R = R s (so that the distance of closest approachto 2 2 2 2 2 4 the planet, in real units equal to d=2= 1:510 km, in CyberStage corresp onds to 75 cm). Finally ( g.1c), all planets, placed outside of a large sphere around the ob- server's p osition, are put to this sphere using a scaling: 0 ~ 1; r~ R <R 2 inf 00 0 ~ r =~r s ; R = R s ; s = R =50m. 3 2 3 3 3 inf 0 0 ~ ~ R =(~r R ); r~ R R inf 2 2 inf Note: the describ ed transformations are applied to each planet whenever the p o- sition of observer is changed. These transformation preserve actual angular sizes of planets for any viewp oint. All calculations are p erformed in double precision (8-byte real numb ers), the resulting p ositions and sizes are presented in single precision and then passed to the rendering pip eline. Model for motion of observer. The velo city of observer should also vary in a large diapason, to make the exploration of near-Earth space and distant planets p ossible in one demo session. For this purp ose we determine the velo city of observer by its p osition relative to a closest planet: v (r )=C onst r (1 + log r=R); r is the distance to planet's center, R is planet's radius. This expression is esti- mated for all planets and minimum is selected.