Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

GDV Übungen: VRML Einführung in VRML

Ähnliche Präsentationen


Präsentation zum Thema: "GDV Übungen: VRML Einführung in VRML"—  Präsentation transkript:

1 GDV Übungen: VRML Einführung in VRML
Tobias Breiner Johann Wolfgang Goethe-Universität Frankfurt/Main VRML-Einführung / 2006 SS GDV Tobias Breiner

2 Aussprache VRML Häufigste Aussprache: “Wörmel” Seltener:
“VauErrEmmEll” Wofür könnten die Buchstaben stehen? VRML-Einführung / 2006 SS GDV Tobias Breiner

3 Was ist VRML ? Virtual Reality Modeling (oder Markup) Language
Also eine Beschreibungssprache keine Progrogrammiersprache oder gar ein Softwaresystem!!! Geeignet um 3D-Szenen zu beschreiben Einfaches ASCII-Format VRML-Einführung / 2006 SS GDV Tobias Breiner

4 Was ist VRML ? Editierbar mit beliebigen Editor
Umsetzung der Sprachbeschreibung durch VRML - Browser Standardisierte Sprache: Eine VRML - Szene durch verschiedene Browser darstellbar Filesuffix = “.WRL” VRML-Einführung / 2006 SS GDV Tobias Breiner

5 Beispiel einer VRML Szene
VRML-Einführung / 2006 SS GDV Tobias Breiner

6 VRML: Features (Geometrien)
Geometriebeschreibungen Grundprimitive (nur Würfel, Kegel, Zylinder und Kugel) Polygonale Objekte Punktwolken und Drahtgittermodelle Elevation Grids Extrudierte Objekte Text VRML-Einführung / 2006 SS GDV Tobias Breiner

7 VRML: Features (Oberflächen)
Materialbeschreibungen Farbe Schattierungen Beleuchtungsbeschreibungen Texturierungen Auch Movie-Textures Aber keine Bumpmaps! VRML-Einführung / 2006 SS GDV Tobias Breiner

8 VRML: Features (Raum-Zeit)
Transformationsbeschreibungen Lichter Point Directional Spot Kamerabeschreibungen Viewpoints VRML-Einführung / 2006 SS GDV Tobias Breiner

9 VRML: Features (Interaktion)
Animation durch Interaktionsbeschreibungen Sensoren aller Art: Zeit Sichtbarkeit Touch Collision (z.B. mit Bounding Box) Interpolatoren Skalarwerte Position Farbe VRML-Einführung / 2006 SS GDV Tobias Breiner

10 VRML: Features (Special Effects)
Hintergrund und Nebel Multimediabeschreibungen Video 3D Sound Billboards Hypermediabeschreibung Anchors VRML-Einführung / 2006 SS GDV Tobias Breiner

11 VRML: Features (Strukturierung)
Strukturbeschreibungen Gruppierungen Prototypen Detaillierungsbeschreibungen VRML-Einführung / 2006 SS GDV Tobias Breiner

12 VRML: Features Zusammenfassung
VRML ist Beschreibungssprache für interaktive 3D Welten VRML integriert Animation, Multimedia und Hypermedia VRML kann über Internet / WWW übertragen werden VRML kann mit immersiven Technologien umgesetzt werden VRML-Einführung / 2006 SS GDV Tobias Breiner

13 VRML und Programmierlogik
Programme können in die VRML Szene eingreifen Anwendungsbeispiele Mehrbenutzersysteme Datenbankanbindung Simulationen VRML-Einführung / 2006 SS GDV Tobias Breiner

14 VRML: Geschichte (I) 1994 Mark Pesce, Tony Parisi:
Präsentieren auf der ersten WWW-Konferenz in Genf ein dreidimensionales Interface namens “LABYRINTH” Mitte 1995 Gavin Bell: Entscheidung durch “Internet vote” für eine Erweiterung des “Open Inventor”-Formates von Silicon Graphics Inc. => VRML 1.0 1995: Beginn der Unterstützung durch SGI, Netscape und Microsoft VRML-Einführung / 2006 SS GDV Tobias Breiner

15 VRML: Geschichte (II) 1995, VRML Architecture Group (VAG): Gründung auf der SIGGRAPH’95 Anfang 1996, VAG: Aufruf zu Vorschlägen für VRML 2.0 1996, VAG: VRML 2.0 wird auf der SIGGRAPH’96 spezifiziert nach offener Abstimmung auf Moving Worlds von SGI basierend 1996, VRML Konsortiums : Gründung VRML-Einführung / 2006 SS GDV Tobias Breiner

16 VRML: Geschichte (III)
Anfang 1997: Beginn der ISO -Standardisierung mit der Erarbeitung von VRML 97 Ende 1997: wird VRML 97 standardisiert als ISO/IEC DIS Zukunft: x3d? VRML-Einführung / 2006 SS GDV Tobias Breiner

17 Der 3D Raum Koordinatensystem 3D - Koordinaten, z.B. (2.0, 1.5, 7.21)
rechtshändig vs. linkshändig 3D - Koordinaten, z.B. (2.0, 1.5, 7.21) y y z x x z VRML-Einführung / 2006 SS GDV Tobias Breiner

18 Der 3D Raum Achtung VRML benutzt rechtshändiges System!!! => Inkonsistenz zu OpenGL, RealiMation, Mantra4D, etc. VRML-Einführung / 2006 SS GDV Tobias Breiner

19 Globale vs. lokale Koordinatensysteme
Hierarchie von Koordinatensystemen Bsp. Gabel eines Gabelstaplers Koordinaten der Gabel bzgl. Stapler Koordinaten des Staplers bzgl. der Welt Spitze der Hierarchie: Weltkoordinaten VRML-Einführung / 2006 SS GDV Tobias Breiner

20 Der Szenegraph Visualisierung der Szenenhierarchie
Kanten: Abhängigkeitsrelation Knoten ( engl. Nodes ): Geometrien Transformationen Materialeigenschaften ... Knotenfelder ( engl. Fields ) VRML-Einführung / 2006 SS GDV Tobias Breiner

21 Szenegraph Beispiel (1)
VRML-Einführung / 2006 SS GDV Tobias Breiner

22 Szenegraph Beispiel (2)
VRML-Einführung / 2006 SS GDV Tobias Breiner

23 Szenegraph Beispiel (3)
VRML-Einführung / 2006 SS GDV Tobias Breiner

24 Szenegraph Beispiel (4)
VRML-Einführung / 2006 SS GDV Tobias Breiner

25 Szenegraph Beispiel (5)
VRML-Einführung / 2006 SS GDV Tobias Breiner

26 Eine VRML Datei #VRML V2.0 utf8 Shape { appearance Appearance {
material Material { } geometry Cone { bottomRadius 2.4 height 5.0 VRML-Einführung / 2006 SS GDV Tobias Breiner

27 Aufbau von VRML Dateien (I)
Eine VRML2-Datei beginnt immer mit folgendem File-Header: #VRML V2.0 utf8 #VRML = Es handelt sich um ein VRML-Skript V2.0 = Version utf8 = Character Set, hier: UTF-8 ( ISO :1993 ) = UCS (Universal Character Set) Transformation Format, 8-bit VRML-Einführung / 2006 SS GDV Tobias Breiner

28 Aufbau von VRML Dateien (II)
Zeilenkommentare (Beginn mit #) VRML Knoten und Felder Zuordnung mit geschweiften Klammern { } VRML-Einführung / 2006 SS GDV Tobias Breiner

29 Gruppieren von Knoten Zusammenfassen von Knoten zu einer Gruppe: Group Node Bsp: Group{ children [ Shape{ ...} Shape{ ...} ] } VRML-Einführung / 2006 SS GDV Tobias Breiner

30 Transformationen (Translation)
Translation (Verschiebung) Verschiebungsvektor: ( x, y, z ) VRML-Einführung / 2006 SS GDV Tobias Breiner

31 Transformationen (Rotation)
Rotation (Drehung) Rotationsachse: ( x, y, z ) Beachte: nur Richtung ist entscheidend Rotationswinkel: j Beachte: Vorzeichen des Winkels ermitteln mit der “Rechte-Hand-Regel” Beachte: Winkel in radian messen ( p = 3, entsprechen 180° ) Rotationsachse: ( x, y, z ) VRML-Einführung / 2006 SS GDV Tobias Breiner

32 Transformationen (Scale)
Skalierung (Größenänderung) Skalierungsfaktoren: ( sx , sy , sz ) Rotationsachse: ( x, y, z ) Rotationswinkel: j Beachte: Skalierungsrotation 2. Skalierung 3. Rückrotation VRML-Einführung / 2006 SS GDV Tobias Breiner

33 Transformationsnode Darstellung von Transformationen in VRML durch einen Node Angabe von Werten zur Spezifizierung der Transformation in Fields Bsp. rotation Spezielles Field mit Liste der Knoten, die von der Transformation betroffen sind Bsp. children [ ] VRML-Einführung / 2006 SS GDV Tobias Breiner

34 Transformationsnode (allgemein)
eventIn      MFNode      addChildren   eventIn      MFNode      removeChildren   exposedField SFVec3f     center           0 0 0    # (- , )   exposedField MFNode      children         []   exposedField SFRotation  rotation          # [-1,1],(- , )   exposedField SFVec3f     scale            1 1 1    # (0, )   exposedField SFRotation  scaleOrientation #[-1,1],(,)   exposedField SFVec3f     translation      0 0 0  # (-)   field        SFVec3f     bboxCenter       0 0 0    # (- , )   field        SFVec3f     bboxSize         # (0, ) or -1,-1,-1 } VRML-Einführung / 2006 SS GDV Tobias Breiner

35 Transformationsnode: Beispiel
#VRML V2.0 utf8 Transform{ children [ Shape { appearance Appearance{ material Material { } } geometry Box { } } ] translation rotation } VRML-Einführung / 2006 SS GDV Tobias Breiner

36 VRML Transformationsknoten
VRML hat eine Skalierung S, eine Rotation R und eine Translation T(t) in fester Folge: 1. Translation T zum center point c 2. Skalierungsrotation RsT, Skalierung S, Rückrotation Rs 3. Rotation R 4. Rücktranslation vom center point c 5. Translation T(t) VRML-Einführung / 2006 SS GDV Tobias Breiner

37 VRML Transformationsknoten
center           C     rotation         R     scale            S     scaleOrientation SR     translation      T     children         [...] } ist äquivalent zu: Transform {   translation T    children Transform {     translation C     children Transform {       rotation R       children Transform {         rotation SR          children Transform {           scale S            children Transform {             rotation -SR              children Transform {             translation-C               children [...] }}}}}}} VRML-Einführung / 2006 SS GDV Tobias Breiner

38 VRML Typen (I) Single Field Values (SF) Multiple Field Values (MF)
SFBool TRUE, FALSE SFInt MFInt32 SFFloat MFFloat VRML-Einführung / 2006 SS GDV Tobias Breiner

39 VRML Typen (II) SFString “Gabelstapler” MFString
SFTime (entspricht 0 Uhr 1 Minute Sek. GMT am ) SFNode Transform MFNode SFImage VRML-Einführung / 2006 SS GDV Tobias Breiner

40 VRML Typen (III) SFVec2f 1.3 4.5 MFVec2f SFVec3f 34.5 -4.9 9.0 MFVec3f
SFRotation MFRotation SFColor MFColor VRML-Einführung / 2006 SS GDV Tobias Breiner

41 DEF - USE Mechanismus Knoten können benannt werden Bsp. DEF my_box Box { ... } Namen bestehen aus Buchstaben, Ziffern, Unterstrich beginnen mit Buchstaben unterscheiden Groß- und Kleinschreibung Knoten können beliebig oft benutzt werden Bsp. USE my_box VRML-Einführung / 2006 SS GDV Tobias Breiner

42 Reservierte Namen in VRML
VRML-Einführung / 2006 SS GDV Tobias Breiner

43 Events und Routen (I) Ereignis (Event) Verbindung (Route) Wertänderung
Benutzerinteraktion Verbindung (Route) Verbindung zweier Knoten zum Austausch von Events Startknoten (Quelle) Zielknoten (Senke) VRML-Einführung / 2006 SS GDV Tobias Breiner

44 Events und Routen (II) Routen beziehen sich auf Fields eines Nodes
Fields werden klassifiziert eventIn eventOut exposedField set_XXX XXX_changed Events und Routen sind getypt VRML-Einführung / 2006 SS GDV Tobias Breiner

45 Routing: Beispiel DEF Würfel Transform{ ... } DEF Kugel Transform{ ...
} DEF Kugel Transform{ ... } ROUTE Würfel.translation_changed TO Kugel.set_scale VRML-Einführung / 2006 SS GDV Tobias Breiner

46 Syntax von VRML Knoten Knotenname Feldliste Für jedes Feld Name
Defaultwert Art (field, eventIn, eventOut, exposedField) Typ VRML-Einführung / 2006 SS GDV Tobias Breiner

47 Beispiel: Syntax des TimeSensors
VRML-Einführung / 2006 SS GDV Tobias Breiner

48 TimeSensoren VRML-Einführung / 2006 SS GDV Tobias Breiner

49 Animation Zeitquelle Interpolator
Positioninterpolator Colorinterpolator Scalarinterpolator ... Routen: Zeit > Interpolator Interpolator > zu animierender Wert VRML-Einführung / 2006 SS GDV Tobias Breiner

50 PositionInterpolator
Zuordnung von Werten aus einem Interval (meist von 0.0 bis 1.0) auf Positionen Eingang: set_fraction (SFFloat) Ausgang: value_changed (SFVec3f) Zuordnung wird durch lineare Interpolation aus einer Tabelle errechnet key [ 0.0, 1.0 ] keyValue [ , ] VRML-Einführung / 2006 SS GDV Tobias Breiner

51 Routingbeispiel für Animation
Kugel sei ein Transform Node mit Shape KugelPfad sei ein PositionInterpolator Node Uhr sei ein TimeSensor Node ROUTE Uhr.fraction_changed TO KugelPfad.set_fraction ROUTE KugelPfad.value_changed TO Kugel.set_translation VRML-Einführung / 2006 SS GDV Tobias Breiner

52 Inlines Einfügen von VRML Dateien in VRML Dateien
Beispiel: Inline { url “beispiel.wrl” } Eigener Namensraum bei DEF / USE! VRML-Einführung / 2006 SS GDV Tobias Breiner

53 VRML Knoten Auflistung aller Nodes und Fields in der VRML Spezifikation VRML-Einführung / 2006 SS GDV Tobias Breiner

54 Prototypen (I) Kapseln von Teilen des Szenengraphen
Eigendefinierter Knoten Parametrisierbar Syntax: PROTO name [ interface ] { body } Herstellen einer Verbindung zwischen interface und body mit dem IS Konstrukt VRML-Einführung / 2006 SS GDV Tobias Breiner

55 Prototypen (II) PROTO Würfel [ field SFVec3f abmessung 1.0 1.0 1.0 ] {
Shape { appearence Appearence{ material Material{ } } geometry Box{ size IS abmessung } } } VRML-Einführung / 2006 SS GDV Tobias Breiner

56 Externe Prototypen Syntax: EXTERNPROTO name [ interface ] { urls }
Anlegen von Prototypbibliotheken Beispiel: EXTERNPROTO Cube [ field SFVec3f abmessung ] { “lib.wrl#Würfel” } VRML-Einführung / 2006 SS GDV Tobias Breiner

57 Aufbau von VRML - Dateien (II)
VRML - Header Kommentare Prototyp - Definitionen Knoten und Felder Routen VRML-Einführung / 2006 SS GDV Tobias Breiner

58 Java3D und VRML Ähnlichkeiten: Unterschiede: Szenegraphmodell
Java Klassen zur Repräsentation von Nodes etc. Unterschiede: Kein Routing, sondern Java Events Java3D legt kein Geometrieformat fest Java3D ist mächtiger VRML-Einführung / 2006 SS GDV Tobias Breiner

59 Browser für VRML Cortona (Parallel Graphics), Download:
BS Contact VRML (Bitmanagement Software) Blaxxun Cosmo Player (wird nicht mehr weitergepflegt) World View VRML-Einführung / 2006 SS GDV Tobias Breiner

60 Informationsressource: WWW (I)
VRML Konsortium Homepage Gesellschaft mit dem Ziel der Standar-disierung und Verbreitung von VRML VRML Repository Sehr gute, umfassende Zusammenstellung von Verweisen zum Thema VRML VRML-Einführung / 2006 SS GDV Tobias Breiner

61 Informationsressource: WWW (II)
ParallelGraphics Wichtiger VRML-Browser Hersteller (1) blaxxun interactive Wichtiger VRML-Browser Hersteller (2) Javasoft Homepage Wichtige Informationsquelle zu Java VRML-Einführung / 2006 SS GDV Tobias Breiner

62 Informationsressource: WWW (III)
Xj3D Enthält auch VRML97 Loader für Java3D Java API Spezifikation siehe Java Platform Core API The Mining Company Grosses Repository VRML-Einführung / 2006 SS GDV Tobias Breiner

63 Informationsressource: Mailinglist
Wichtigste allgemeine Mailingliste: subscribe www-vrml Liste spezielle zum Thema Scripting: subscribe vrml-behaviors VRML Benutzergruppe (dt.): VRML-Einführung / 2006 SS GDV Tobias Breiner

64 Informationsressource: Buch (I)
VRML 2.0 Source Book Ames, Nadeau, Moreland Wiley, 1996 Annotated VRML Reference Manual Bell, Carey Addison-Wesley, 1997 Teach Yourself VRML in 21 Days Marrin, Campbell SAMS Net, 1997 VRML-Einführung / 2006 SS GDV Tobias Breiner

65 Informationsressource: Buch (II)
The VRML 2.0 Handbook Hartman, Wernecke Addison-Wesley, 1996 Late Night VRML 2.0 with Java Roehl, Couch et al. ZD Press, 1997 VRML 97 (dt.) Addison-Wesley, 1997 VRML-Einführung / 2006 SS GDV Tobias Breiner

66 Informationsressource: Buch (III)
JAVA for 3D and VRML Worlds Lea, Matsuda, Miyashita New Riders, 1996 JAVA 1.1 für Insider (dt.) Morrison SAMS, 1997 JAVA 1.1 in a Nutshell (dt.) O’Reilly, 1997 VRML-Einführung / 2006 SS GDV Tobias Breiner

67 Copyright Diese Folien basieren auf folgenden Kursen:
C. Seiler Einführung in VRML/ Uni Frankfurt SS 2003 R. Dörner Computergraphik mit VRML und Java3D, Uni Frankfurt 2000 WS Praktikum R. Dörner, C. Elcacho, A. Schäfer: VRML und Java – Programmierung von 3D Welten für das Internet, AWF Seminar am Zentrum f. Graph. Datenverarbeitung D.R. Nadeau, H. A. Sowrizal: Introduction to Programming with Java3D Eurographics‘99 Tutorial J. Zukowski: Introduction to the javabeans API, Tutorial von SUN Microsystems Inc. VRML-Einführung / 2006 SS GDV Tobias Breiner

68 Fragen & Kommentare ? ? ! VRML-Einführung / 2006 SS GDV Tobias Breiner


Herunterladen ppt "GDV Übungen: VRML Einführung in VRML"

Ähnliche Präsentationen


Google-Anzeigen