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 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 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