prev up next

VRML

VRML, sprich Wörmel, ist eine für das WWW entworfene Virtual Reality Modelling Language zur Beschreibung von 3-dimensionalen Szenen mit multimedialen Komponenten und Animation. Analog zum 2D-Vektorformat Flash gelangen Szenen nicht durch Einscannen in den Rechner, sondern durch eine geometrische Beschreibung aller räumlichen 3D-Koordinaten. Die gerenderte Projektion der Szene kann von jedem Web-Browser geliefert werden, der über ein passendes Plugin verfügt.

VRML-Szenen werden beschrieben in ASCII-Dateien mit der Endung *.wrl, welche innerhalb einer HTML-Seite mit dem EMBED-Kommando referiert werden, z.B.

<EMBED SRC=quader.wrl WIDTH=400 HEIGTH=300>

Ein entsprechend konfigurierter Web-Server schickt dem anfordernden Klienten als Vorspann dieser Daten den Mime-Typ VRML, worauf das zur Betrachtung installierte Plugin, z.B. Cosmo Player 2.0 von Silicon Graphics, die eingehenden Daten in eine interne Datenstruktur einliest, von wo sie zur Berechnung einer fotorealistischen Projektion verwendet werden. In welcher Weise Blickwinkel und Orientierung in der Szene modifiziert werden können, bleibt dem Plugin überlassen: Mit Mauszeiger und Keyboard Shortcuts wandert der Benutzer durch eine virtuelle Welt, verkörpert im wahrsten Sinne des Wortes durch einen Avatar, seiner geometrischen Repräsentation, beschränkt in seiner Beweglichkeit durch physikalische Restriktionen und durch eine simulierte Schwerkraft.

 
#VRML V2.0 utf8                    # VRML-Version 2.0
# quader.wrl                       # Datei mit VRML-Quader

Transform {                        # Plaziere 
  translation 0 0 0                # im Ursprung 
  children [ 
    Shape {                        # eine Gestalt 
      geometry Box {               # von der Form eine Quaders 
        size 2 2 2                 # mit Kantenlaengen 2 2 2 
      } 
      appearance Appearance {      # in der Erscheinung 
        material Material {        # mit Materialbeschaffenheit 
          diffuseColor 1 0 0       # rote Farbe 
          shininess 0.9            # stark reflektierend 
        } 
      } 
    } 
  ] 
}
Listing 1: VRML-Datei für einen roten Quader

Wichtigster Bestandteil von VRML-Szenen ist der sogenannte Knoten, der wie ein Programmiersprachenrecord aus Feldern verschiedenen Typs besteht. Diese Felder verweisen entweder auf nicht weiter strukturierte Objektknoten oder andere Gruppenknoten, die wiederum mittels ihrer Felder verzweigen können.

Listing 1 zeigt den Aufbau einer Szene, in der ein Quader mit Kantenlänge 2 im Ursprung des Weltkoordinatensystems plaziert wird. Die $x$-Richtung entspricht der horizontalen Bewegung, $y$ beschreibt die vertikale Richtung und $z$ wächst auf den Betrachter zu. Der Box-Knoten hat dabei als einziges (optionales) Feld die Kantenlänge. Dieser Quader wird referiert über das geometry-Feld des Shape-Knotens, zuständig für die Gestaltung eines Objekts. Über das appearance-Feld wird die Materialbeschaffenheit in Form einer RGB-Farbe und eines Transparenz-Koeffizienten spezifiziert. Der Shape-Knoten wiederum ist als eins der Kinder im Transform-Knoten eingetragen, der über ein translation-Feld für die Verschiebung des Quaders sorgt.




Abbildung 15: wuerfel.wrl (0,5 K)
Die daraus gerenderte perspektivische Würfeldarstellung zeigt Abbildung 15. Ein Screenshot einer kompletten Gebäudemodellierung bietet Abbildung 16. Hier wurden in mehreren verzeigerten VRML-Dateien alle Büros des Fachbereich Mathematik/Informatik der Universität Osnabrück kodiert.


Bild 16: Universitätsgebäude am Westerberg, modelliert mit VRML


prev up next