Virtual Reality Modeling Language


Hausarbeit, 1997
51 Seiten, Note: 1.6

Leseprobe

II Inhaltsverzeichnis

I Was ist VRML ?

1 Grundlagen
1.1 Grundlegende Syntax
1.1.1 Felder
1.1.2 Knoten
1.1.3 Schlüsselwörter
1.2 Begriffe und Zusammenhänge
1.2.1 Knoten
1.2.2 Gruppenknoten
1.2.3 Blattknoten
1.2.4 Untergeordnete Knoten
1.2.5 Texturen

2 Unterschied zwischen manueller und toolgestützter VRML- Programmierung ..16 2.1 Eine einfache rechteckige Form
2.2 Inlines
2.3 Die LoD- Funktion
2.4 Animation eines Kegels
2.5 Fazit

3 Untersuchung von Laufzeit- und Ressourcenverhalten unter IRIX
3.1 Das System IRIX 6.3
3.2 Ressourcenverhalten
3.2.1 Speicher
3.2.2 CPU
3.3 Laufzeitverhalten
3.3.1 LoD
3.3.2 Belastung über das Netz
3.3.3 Systemschwierigkeiten

4 Der virtuelle Kindergarten als Fallbeispiel

5 Ausblick
i Schlagwortverzeichnis
ii Literaturverzeichnis
iii Abbildungsverzeichnis
iv Codeauszugverzeichnis
v Tabellenverzeichnis
vi Anhang

I Was ist VRML ? 2

VRML ist die Abkürzung für „Virtual Reality Modeling Language“, einer Sprache zum Modellieren virtueller Welten. Es ist eine Sprache zur Beschreibung von interaktiven dreidimensionalen Objekten und Welten im World Wide Web (WWW), ähnlich wie HTML zur Formatierung von zweidimensionalen Objekten und Text im WWW benutzt wird.

Statt Hypertexten legt VRML aber dreidimensionale Szenarien fest, die aufgrund dieser Beschreibung bei jeder Bildschirmdarstellung von einem VRML- Browser jeweils neu berechnet werden. Dadurch werden starre, statische Web- Seiten zu bewegten, dynamischen dreidimensionalen Welten.

Die Beschreibungssprache soll folgende Grundvoraussetzungen erfüllen:

- Sie soll unabhängig von der verwendeten Hardwareplattform und somit von einer breiten Masse von Anwendern nutzbar sein.
- Sie soll sich beliebig erweitern lassen
- Sie soll auch mit langsamen Verbindungen noch hinreichend nutzbar sein.

Vorrangig wurde VRML dazu entwickelt, das World Wide Web um eine dreidimensionale Benutzerschnittstelle zu erweitern. Inzwischen hat sich VRML aber auch für andere Anwendungsgebiete bewährt, bei denen es auf dreidimensionale Darstellungen ankommt. So kann man z.B. vom virtuellen Messeführer über interaktive Bauanleitungen bis hin zur kompletten Einführung eines neuen Produkts jede Art von Informationssystem zu realisieren.

Voraussetzungen

Zum Erschaffen einer Welt eignet sich im Prinzip jeder Texteditor, da VRML- Dateien komplett aus ASCII- Texten bestehen. Komfortabler ist jedoch das Gestalten mit einem speziellen VRML- Editor. Im Sinne dieser Hausarbeit wurde COSMOWORLDS von ‘Silicon Graphics’ verwendet. Diese CAD- Programm besitzt eine VRML- Schnittstelle, um Modelle direkt als VRML- Datei zu speichern.

Zum Betrachten benötigt man einen VRML- Browser. Er ermöglicht das Navigieren in solchen Welten. Man unterscheidet dabei zwischen echten VRML- Browsern und VRML-Plug-Ins. Während ein VRML- Browser eine eigenständige Anwendung ist, handelt es sich bei den Plug-Ins um Erweiterungen für gängige WWW- Clients wie Netscape Navigator oder

Microsoft Internet Explorer. Ihre Benutzerführung ist dann in das Browserfenster integriert. Die Darstellung erfolgt im Browserfenster selbst.

Geschichte

VRML erlebte seine Geburtsstunde im Frühjahr 1994 auf der ersten World Wide Web Konferenz in Genf. Dort stellten Mark Pesce und Anthony Parisi ein Konzept für eine dreidimensionale Benutzerschnittstelle für das World Wide Web vor. Es wurde angeregt, eine Beschreibungssprache zu entwickeln, mit der sich dreidimensionale Welten definieren lassen und in die Hyperlinks integriert werden können. Der Begriff Virtual Reality Markup Language wurde geprägt. Eine Arbeitsgruppe begann nach der Konferenz mit der Spezifikation dieser neuen Sprache. Das Wort ‘Markup’ wurde später in ‘Modeling’ geändert, um dem grafischen Charakter von VRML gerecht zu werden.

Innerhalb eines Monats nach dieser Konferenz wurde von Marc Pesce und Brian Behlendorf vom Wired- Magazin eine Mailingliste eingerichtet, über die alle an der Entwicklung von VRML interessierten Fachleute diskutieren konnten.

Noch im selben Jahr, fünf Monate vor der zweiten WWW- Konferenz, verkündete Marc Pesce, es müsste ein Konzeptentwurf für die Spezifikation bis zur Konferenz in Chicago vorliegen. Aufgrund der äußerst knappen Zeitplanung gab es ein allgemeines Einverständnis, dass, wenn möglich, bereits vorhandene Lösungen verwendet werden. Man einigte sich bald auf einen erstellten Anforderungskatalog und begann zügig mit der Suche nach geeigneten Technologien, die den Bedürfnissen von VRML entsprachen. Die Suche resultierte in einer Liste von verschiedenen erfolgsversprechenden Kandidaten.

Nach eingehender Beratung entschied man sich für das Open Inventor ASCII File Format, das bereits 1992 von Silicon Graphics Inc. entwickelt wurde.

Dieses Format unterstützt die vollständige Beschreibung von dreidimensionalen Szenarien mit Objekten, Lichtquellen, Oberflächentexturen und realistischen Effekten. Gavin Bell von Silicon Graphics passte das Inventor File Format den Bedürfnissen von VRML an. Silicion Graphics stellte das neue Format ohne Einschränkung der Öffentlichkeit zur Verfügung. Am 3. April 1995 wurde die Version 1.0 der Öffentlichkeit vorgestellt.

Seit Herbst 1995 ist die VRML Architecture Group (VAG) mit der Koordination der weiteren Entwicklung von VRML betraut. Anfang 1996 wurden von verschiedenen Firmen eine Reihe von Vorschlägen für den neuen Standard VRML 2.0 eingebracht und innerhalb der VRML- Gemeinschaft diskutiert, darunter „Moving Worlds“ von Silicon Graphics, „HoloWeb“ von Sun Microsystems, „ActiveVRML“ von Microsoft, „Out of this World“ von Apple sowie einige andere Vorschläge. Am Ende der Abstimmung im Februar 1996 sprachen sich 70 % aller abstimmenden Teilnehmer für das „Moving Worlds“- Proposal von Silicon Graphics aus. Im März wurde schließlich „Moving Worlds“ durch die VAG offiziell als neuer Standard für VRML 2.0 angenommen. Am 4.

August 1996 wurde die endgültige Version von VRML 2.0 veröffentlicht.

Seitdem wurde diese Spezifikation sprachlich verbessert. Es wurden kleinere Veränderungen an der Funktionalität vorgenommen. Am 22. Februar 1997 wurde eine Entwurfsversion unter dem Oberbegriff VRML97 publiziert.

Der wesentliche Zweck dieser Spezifikation aber ist, VRML bei den Organisationen ISO (International Organization for Standardization) und IEC (International Electrotechnical Commission) international standardisieren zu lassen.

Gegen Ende des Jahres 1997 soll, nach Abstimmung der ISO, die endgültige Version VRML97 nach dem internationalen Standard (IS) erscheinen.

1 Grundlagen

1.1 Grundlegende Syntax

Eine VRML- Datei erkennt man an der Endung .wrl (kommt von ‘world’) des Dateinamens.

Zu Beginn der Datei muss folgender Kopf stehen, der die Datei als VRML- Datei nach der Version 2.0 ausweist:

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 1: Der Kopf

‘utf8’ steht für einen ISO- Standard für Text- Codierungen nach dem UTF- 8- Prinzip, eine Übermenge der ASCII- Codierung.

Dieser Kopf (File Header) allein ist zugleich die einfachste Form einer VRML- Datei. Im Browser wird allerdings nur eine leere Welt gezeigt.

Kommentare beginnen mit einem # und reichen bis zum Zeilenende; sie werden vom Browser ignoriert oder ja nach Server nicht mit übertragen. Im WorldInfo- Knoten kann man einen Titel und weitere Informationen angeben. Den Titel zeigen einige Browser in der Titelseite an:

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 2: Der WorldInfo-Knoten

VRML ist case-sensitive, das heißt, es ist auf Groß- und Kleinschreibung zu achten. WorldInfo würder daher bereits einen Fehler hervorrufen

Eine Zeile muss nicht unbedingt mit einem „Carriage- Return“ enden, es sind auch Leerzeichen, Kommas und Tabulatoren erlaubt.

Zur besseren Übersichtlichkeit empfiehlt sich aber ein Still ähnlich der C- Programmierung.

1.1.1Felder

Feldnamen fangen mit einem Kleinbuchstaben an.

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 3: Single-valued Felder

Bei sogenannten multi-valued Felder schreibt man die Wertefelder in eckigen Klammern:

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 4: Multi-valued Felder

1.1.2Knoten

Knotennamen müssen mit einem Großbuchstaben beginnen. Die Felder eines Knotens stehen innerhalb geschweifter Klammern. Ist die geschweifte Klammer leer, gelten Standardwerte :

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 5: Knoten

Gleiche Knoten, die in einer Datei öfter verwendet werden, kann man platzsparend und übersichtlich mit DEF benennen und mit USE wiederverwenden. Dieses Verfahren wird Instanziierung (instancing) genannt.

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 6: Das DEF und USE-Konstrukt

1.1.3Schlüsselwörter

Die folgenden reservierten Schlüsselwörter sollten nicht in Namen von Feldern, Ereignissen, PROTO’s, EXTERNPROTO’s oder Knoten vorkommen:

- DEF
- EXTERNPROTO
- FALSE
-IS
- NULL
-PROTO
- ROUTE
-TO
- TRUE
- USE
- eventIn
-eventOut
- exposedField
- field

1.2 Begriffe und Zusammenhänge

1.2.1Knoten

Abstrakt gesehen ist VRML ein Datenformat zum Beschreiben von Objekten. Theoretisch können diese Objekte alles enthalten. VRML definiert eine Menge von Objekten, die für 3-D-Grafiken, Multimediaanwendungen und interaktives Erstellen von virtuellen Welten nützlich sein können.

Diese Objekte werden Knoten genannt. Sie sind die Grundbausteine einer VRML- Datei. Die Daten sind in Felder und Ereignissen gespeichert. Ein Knoten kann selbst wieder ein Behälter für einen oder mehreren anderen Knoten sein. Die Knoten sind an eine hierarchische Struktur gebunden.

Es gibt folgende drei Klassen:

- Gruppenknoten
- Blattknoten
- Untergeordnete Knoten

Sehr vereinfacht dargestellt, ist ein VRML- Programm folgendermaßen strukturiert:

Abbildung in dieser Leseprobe nicht enthalten

In der VRML-2.0-Spezifikation werden 54 verschiedene Knoten beschrieben.

1.2.2Gruppenknoten

Gruppierungsknoten (Grouping nodes)

(Anchor, Billboard, Collision, Group, Transform)

Um eine VRML- Datei hierarchisch aufzubauen, werden Grouping- Knoten verwendet. Grouping- Knoten haben ein Children- Feld, in dem die enthaltenen Knoten der Group untergeordnet sind und deren Eigenschaften übernehmen.

Spezial- Gruppenknoten (Special Groups)

(Inline, LOD, Switch)

‘Special Groups’- Knoten sind Objekte, die sich auf den Programmierstil auswirken. Mit Ihnen kann man u.a. die Performance einer VRML- Welt steigern.

1.2.3 Blattknoten

Allgemeine Knoten (Common Nodes)

(AudioClip, DirectionalLight, PointLight, Script, Shape, Sound, SpotLight, WorldInfo)

Allgemeine Knoten ergänzen das Bild der Welt auf unterschiedliche Art und Weise, ob Bezeichnungstext, Sound oder unterschiedliche Lichtquellen.

Sensoren (Sensors)

(CylinderSensor, PlaneSensor, ProximitySensor, SphereSensor, TimeSensor, TochSensor, VisibilitySensor)

Damit ein Betrachter mit der VRML- Szene kommunizieren kann, gibt es eine Reihe von Knoten, die Aktionen mit der Maus mit Hilfe von Ereignissen an andere Knoten weiterleiten können. Diese Knoten gehören zur Gruppe der Sensor- Knoten.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Routing am Beispiel eines Tasters

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 8: Ein Taster wird mit einem Geräusch verknüpft

Umgebungs- Knoten (Bindable Nodes)

(Background, Fog, NavigationInfo, Viewpoint)

Umgebungs- Knoten sind Knoten, die viele Instanzen im Scene- Graph haben können, aber es kann nur eine Instanz zu einer Zeit aktiv sein. Sie helfen dem Benutzer, sich in der Welt besser zurechtzufinden. Detailliertere Angaben über den Aufbau der Knoten ist im Anhang/Knotentypen aufgeführt.

Animations- Knoten (Interpolators)

(ColorInterpolator, CoordinateInterpolator, NormalInterpolator, OrientationInterpolator, PositionInterpolator, ScalarInterpolator)

Da die meisten Knoten mit dem Fraction_changed- Ereigniss des Time- Sensor- Knotens nicht verknüpft werden können, muß ein Wandler zwischen Timer und Knoten geschaltet werden. Diese Aufgabe erledigt die Gruppe der Interpolator- Knoten. Mit diesen Interpolator- Knoten läßt sich somit auf einfache Weise eine „keyframe- Animation“ realisieren. Dabei werden verschiedene „Schlüsselszenen“ vordefiniert, und der Browser errechnet dann die notwendigen Zwischenschritte.

z.B. soll ein Würfel auf Knopfdruck innerhalb von 4 Sekunden vom Koordinatenursprung aus zum Punkt (2,2,0) verschoben werden. Anschließend soll sich der Würfel innerhalb von einer Sekunde auf den Punkt (0, 0, -10) entfernen.

Abbildung in dieser Leseprobe nicht enthalten

Codeauszug 9: Animationsknoten

[...]

Ende der Leseprobe aus 51 Seiten

Details

Titel
Virtual Reality Modeling Language
Hochschule
Hochschule Fulda  (FB Informatik)
Veranstaltung
Systemprogrammierung
Note
1.6
Autor
Jahr
1997
Seiten
51
Katalognummer
V10967
ISBN (eBook)
9783638172554
Dateigröße
1593 KB
Sprache
Deutsch
Schlagworte
VRML Ressourcenanalyse Systemprogrammierung Virtual Reality
Arbeit zitieren
Claus Strobel (Autor), 1997, Virtual Reality Modeling Language, München, GRIN Verlag, https://www.grin.com/document/10967

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Virtual Reality Modeling Language


Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden