Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Folie 1/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner GDV Übungen: VRML Einführung in VRML Tobias Breiner Johann Wolfgang Goethe-Universität.

Ähnliche Präsentationen


Präsentation zum Thema: "Folie 1/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner GDV Übungen: VRML Einführung in VRML Tobias Breiner Johann Wolfgang Goethe-Universität."—  Präsentation transkript:

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

2 Folie 2/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Aussprache VRML Häufigste Aussprache: Wörmel Seltener: VauErrEmmEll Wofür könnten die Buchstaben stehen?

3 Folie 3/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

5 Folie 5/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Beispiel einer VRML Szene

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

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

8 Folie 8/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML: Features (Raum-Zeit) Transformationsbeschreibungen Lichter –Point –Directional –Spot Kamerabeschreibungen –Viewpoints

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

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

11 Folie 11/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML: Features (Strukturierung) Strukturbeschreibungen –Gruppierungen –Prototypen Detaillierungsbeschreibungen

12 Folie 12/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

14 Folie 14/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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 : Beginn der Unterstützung durch SGI, Netscape und Microsoft

15 Folie 15/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML: Geschichte (II) 1995, VRML Architecture Group (VAG): Gründung auf der SIGGRAPH95 Anfang 1996, VAG: Aufruf zu Vorschlägen für VRML , VAG: VRML 2.0 wird auf der SIGGRAPH96 spezifiziert nach offener Abstimmung auf Moving Worlds von SGI basierend 1996, VRML Konsortiums : Gründung

16 Folie 16/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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?

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

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

19 Folie 19/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

21 Folie 21/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Szenegraph Beispiel (1)

22 Folie 22/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Szenegraph Beispiel (2)

23 Folie 23/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Szenegraph Beispiel (3)

24 Folie 24/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Szenegraph Beispiel (4)

25 Folie 25/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Szenegraph Beispiel (5)

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

27 Folie 27/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

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

30 Folie 30/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Transformationen (Translation) Translation (Verschiebung) –Verschiebungsvektor: ( x, y, z )

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

32 Folie 32/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Transformationen (Scale) Skalierung (Größenänderung) –Skalierungsfaktoren: ( s x, s y, s z ) –Rotationsachse: ( x, y, z ) –Rotationswinkel: Beachte: 1. Skalierungsrotation 2. Skalierung 3. Rückrotation

33 Folie 33/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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 [ ]

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

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

36 Folie 36/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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 R s T, Skalierung S, Rückrotation R s 3. Rotation R 4. Rücktranslation vom center point c 5. Translation T(t)

37 Folie 37/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML Transformationsknoten Transform { 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 [...] }}}}}}}

38 Folie 38/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML Typen (I) Single Field Values (SF) Multiple Field Values (MF) SFBool TRUE, FALSE SFInt3242 MFInt32 SFFloat MFFloat

39 Folie 39/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML Typen (II) SFStringGabelstapler MFString SFTime65 (entspricht 0 Uhr 1 Minute 5 Sek. GMT am ) SFNodeTransform MFNode SFImage

40 Folie 40/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML Typen (III) SFVec2f MFVec2f SFVec3f MFVec3f SFRotation MFRotation SFColor MFColor

41 Folie 41/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

42 Folie 42/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Reservierte Namen in VRML

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

44 Folie 44/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

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

47 Folie 47/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Beispiel: Syntax des TimeSensors TimeSensor

48 Folie 48/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner TimeSensoren

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

50 Folie 50/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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[ , ]

51 Folie 51/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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 ROUTEKugelPfad.value_changed TO Kugel.set_translation

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

53 Folie 53/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner VRML Knoten Auflistung aller Nodes und Fields in der VRML Spezifikation

54 Folie 54/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

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

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

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

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

60 Folie 60/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

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

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

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

64 Folie 64/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

65 Folie 65/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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

66 Folie 66/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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.) OReilly, 1997

67 Folie 67/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner 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 Eurographics99 Tutorial –J. Zukowski: Introduction to the javabeans API, Tutorial von SUN Microsystems Inc.

68 Folie 68/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner Fragen & Kommentare ? ? !


Herunterladen ppt "Folie 1/64 Vers. 13-Nov-13 VRML-Einführung / 2006 SS GDV Tobias Breiner GDV Übungen: VRML Einführung in VRML Tobias Breiner Johann Wolfgang Goethe-Universität."

Ähnliche Präsentationen


Google-Anzeigen