+ All Categories
Transcript
Page 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 1/64 Vers. 11 Apr 2023

GDV Übungen: VRML

Einführung in VRML

Tobias BreinerJohann Wolfgang Goethe-

UniversitätFrankfurt/Main

Page 2: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 2/64 Vers. 11 Apr 2023

Aussprache VRML

• Häufigste Aussprache:“Wörmel”

• Seltener: “VauErrEmmEll”

• Wofür könnten die Buchstaben stehen?

Page 3: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 3/64 Vers. 11 Apr 2023

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

Page 4: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 4/64 Vers. 11 Apr 2023

Was ist VRML ?

• Editierbar mit beliebigen Editor• Umsetzung der

Sprachbeschreibung durch VRML - Browser

• Standardisierte Sprache:Eine VRML - Szene durch verschiedene Browser darstellbar

• Filesuffix = “.WRL”

Page 5: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 5/64 Vers. 11 Apr 2023

Beispiel einer VRML Szene

Page 6: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 6/64 Vers. 11 Apr 2023

VRML: Features (Geometrien)

• Geometriebeschreibungen– Grundprimitive

(nur Würfel, Kegel, Zylinder und Kugel)

– Polygonale Objekte– Punktwolken und Drahtgittermodelle– Elevation Grids– Extrudierte Objekte– Text

Page 7: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 7/64 Vers. 11 Apr 2023

VRML: Features (Oberflächen)

• Materialbeschreibungen– Farbe– Schattierungen – Beleuchtungsbeschreibungen

• Texturierungen– Auch Movie-Textures– Aber keine Bumpmaps!

Page 8: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 8/64 Vers. 11 Apr 2023

VRML: Features (Raum-Zeit)

• Transformationsbeschreibungen• Lichter

– Point– Directional– Spot

• Kamerabeschreibungen– Viewpoints

Page 9: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 9/64 Vers. 11 Apr 2023

VRML: Features (Interaktion)

• Animation durch Interaktionsbeschreibungen

• Sensoren aller Art:– Zeit– Sichtbarkeit– Touch– Collision (z.B. mit Bounding Box)

• Interpolatoren– Skalarwerte– Position– Farbe

Page 10: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 10/64 Vers. 11 Apr 2023

VRML: Features (Special Effects)

• Hintergrund und Nebel• Multimediabeschreibungen

– Video– 3D Sound

• Billboards• Hypermediabeschreibung

– Anchors

Page 11: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 11/64 Vers. 11 Apr 2023

VRML: Features (Strukturierung)

• Strukturbeschreibungen– Gruppierungen– Prototypen

• Detaillierungsbeschreibungen

Page 12: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 12/64 Vers. 11 Apr 2023

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

Page 13: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 13/64 Vers. 11 Apr 2023

VRML und Programmierlogik

• Programme können in die VRML Szene eingreifen

• Anwendungsbeispiele– Mehrbenutzersysteme– Datenbankanbindung– Simulationen

Page 14: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 14/64 Vers. 11 Apr 2023

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

Page 15: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 15/64 Vers. 11 Apr 2023

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

Page 16: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 16/64 Vers. 11 Apr 2023

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

• Zukunft: x3d?

Page 17: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 17/64 Vers. 11 Apr 2023

Der 3D Raum

• Koordinatensystem– rechtshändig vs. linkshändig

• 3D - Koordinaten, z.B. (2.0, 1.5, 7.21)

x

y

zx

y

z

Page 18: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 18/64 Vers. 11 Apr 2023

Der 3D Raum

• Achtung VRML benutzt rechtshändiges System!!!

=> Inkonsistenz zu OpenGL, RealiMation, Mantra4D, etc.

Page 19: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 19/64 Vers. 11 Apr 2023

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

Page 20: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 20/64 Vers. 11 Apr 2023

Der Szenegraph

• Visualisierung der Szenenhierarchie

• Kanten: Abhängigkeitsrelation• Knoten ( engl. Nodes ):

– Geometrien– Transformationen– Materialeigenschaften– ...

• Knotenfelder ( engl. Fields )

Page 21: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 21/64 Vers. 11 Apr 2023

Szenegraph Beispiel (1)

Page 22: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 22/64 Vers. 11 Apr 2023

Szenegraph Beispiel (2)

Page 23: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 23/64 Vers. 11 Apr 2023

Szenegraph Beispiel (3)

Page 24: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 24/64 Vers. 11 Apr 2023

Szenegraph Beispiel (4)

Page 25: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 25/64 Vers. 11 Apr 2023

Szenegraph Beispiel (5)

Page 26: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 26/64 Vers. 11 Apr 2023

Eine VRML Datei

#VRML V2.0 utf8

Shape {

appearance Appearance {

material Material {

}

geometry Cone {

bottomRadius 2.4

height 5.0

}

}

Page 27: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 27/64 Vers. 11 Apr 2023

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-SkriptV2.0 = Versionutf8 = Character Set, hier: UTF-8 ( ISO 10646-1:1993 ) = UCS (Universal Character Set) Transformation Format, 8-bit

Page 28: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 28/64 Vers. 11 Apr 2023

Aufbau von VRML Dateien (II)

• Zeilenkommentare (Beginn mit #)

• VRML Knoten und Felder• Zuordnung mit geschweiften

Klammern { }

Page 29: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 29/64 Vers. 11 Apr 2023

Gruppieren von Knoten

• Zusammenfassen von Knoten zu einer Gruppe: Group Node

• Bsp:Group{

children [Shape{ ...}Shape{ ...}

] }

Page 30: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 30/64 Vers. 11 Apr 2023

Transformationen (Translation)

• Translation (Verschiebung)– Verschiebungsvektor: ( x, y, z )

Page 31: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 31/64 Vers. 11 Apr 2023

Transformationen (Rotation)

• Rotation (Drehung)– Rotationsachse: ( x, y, z )

Beachte: nur Richtung ist entscheidend– Rotationswinkel:

Beachte: Vorzeichen des Winkels ermittelnmit der “Rechte-Hand-Regel”Beachte: Winkel in radian messen ( = 3, 14... entsprechen 180° )

– Rotationsachse: ( x, y, z )

Page 32: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 32/64 Vers. 11 Apr 2023

Transformationen (Scale)

• Skalierung (Größenänderung)– Skalierungsfaktoren: ( sx , sy , sz )

– Rotationsachse: ( x, y, z )– Rotationswinkel:

Beachte: 1. Skalierungsrotation 2. Skalierung 3. Rückrotation

Page 33: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 33/64 Vers. 11 Apr 2023

Transformationsnode

• Darstellung von Transformationen in VRML durch einen Node

• Angabe von Werten zur Spezifizierung der Transformation in FieldsBsp. rotation 4.0 0.0 0.0 2.37

• Spezielles Field mit Liste der Knoten, die von der Transformation betroffen sindBsp. children [ ]

Page 34: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 34/64 Vers. 11 Apr 2023

Transformationsnode (allgemein)

• Transform{    eventIn      MFNode      addChildren   eventIn      MFNode      removeChildren   exposedField SFVec3f     center           0 0 0    # (- , )   exposedField MFNode      children         []   exposedField SFRotation  rotation       0 0 1 0  # [-1,1],(- , )   exposedField SFVec3f     scale            1 1 1    # (0, )   exposedField SFRotation  scaleOrientation 0 0 10#[-1,1],(,)   exposedField SFVec3f     translation      0 0 0  # (-)   field        SFVec3f     bboxCenter       0 0 0    # (- , )   field        SFVec3f     bboxSize         -1 -1 -1 # (0, ) or -1,-1,-1 }

Page 35: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 35/64 Vers. 11 Apr 2023

Transformationsnode: Beispiel#VRML V2.0 utf8Transform{

children [ Shape {appearance Appearance{ material Material { } }geometry Box { } } ]translation 0.0 4.0 0.3rotation 1.0 0.0 1.0 1.57 }

Page 36: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 36/64 Vers. 11 Apr 2023

)()()( cTSRRRcTTX Tsst

VRML Transformationsknoten

VRML hat eine Skalierung S, eine Rotation R und eine Translation T(t) in fester Folge:

1. Translation T zum center point c2. Skalierungsrotation Rs

T, Skalierung S, Rückrotation Rs

3. Rotation R4. Rücktranslation vom center point c

5. Translation T(t)

Page 37: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 37/64 Vers. 11 Apr 2023

VRML TransformationsknotenTransform {     

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 [...] }}}}}}}

Page 38: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 38/64 Vers. 11 Apr 2023

VRML Typen (I)

• Single Field Values (SF)Multiple Field Values (MF)

• SFBool TRUE, FALSE

• SFInt32 42MFInt32

• SFFloat -124.567MFFloat

Page 39: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 39/64 Vers. 11 Apr 2023

VRML Typen (II)

• SFString “Gabelstapler”MFString

• SFTime 65(entspricht 0 Uhr 1 Minute 5 Sek. GMT am 1.1.1970)

• SFNode TransformMFNode

• SFImage

Page 40: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 40/64 Vers. 11 Apr 2023

VRML Typen (III)

• SFVec2f 1.3 4.5MFVec2f

• SFVec3f 34.5 -4.9 9.0MFVec3f

• SFRotation 1.0 1.0 4.0 3.2MFRotation

• SFColor 1.0 0.0 0.0MFColor

Page 41: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 41/64 Vers. 11 Apr 2023

DEF - USE Mechanismus

• Knoten können benannt werdenBsp. DEF my_box Box { ... }

• Namen– bestehen aus Buchstaben, Ziffern,

Unterstrich– beginnen mit Buchstaben– unterscheiden Groß- und Kleinschreibung

• Knoten können beliebig oft benutzt werdenBsp. USE my_box

Page 42: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 42/64 Vers. 11 Apr 2023

Reservierte Namen in VRML

DEF EXTERNPROTO

FALSE

IS eventIn TRUE

TO eventOut PROTO

NULL exposedField ROUTE

USE field

Page 43: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 43/64 Vers. 11 Apr 2023

Events und Routen (I)

• Ereignis (Event)– Wertänderung– Benutzerinteraktion

• Verbindung (Route)– Verbindung zweier Knoten zum

Austausch von Events– Startknoten (Quelle)– Zielknoten (Senke)

Page 44: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 44/64 Vers. 11 Apr 2023

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

Page 45: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 45/64 Vers. 11 Apr 2023

Routing: Beispiel

DEF Würfel Transform{

... }

DEF Kugel Transform{

...

}

ROUTE Würfel.translation_changed TO

Kugel.set_scale

Page 46: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 46/64 Vers. 11 Apr 2023

Syntax von VRML Knoten

• Knotenname• Feldliste• Für jedes Feld

– Name– Defaultwert– Art (field, eventIn, eventOut,

exposedField)– Typ

Page 47: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 47/64 Vers. 11 Apr 2023

Beispiel: Syntax des TimeSensors

TimeSensorenabled TRUE exposed SFBool

startTime 0.0 exposed SFTime

stopTime 0.0 exposed SFTime cycleInterval

1.0 exposed SFTime

loop FALSE exposed SFBool

isActive eventOut SFBool

time eventOut SFTime cycleTime eventOut SFTime fraction_changed eventOut SFFloat

Page 48: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 48/64 Vers. 11 Apr 2023

TimeSensoren

loop = TRUE stopTime <=startTime

EndloseZyklenabfolge

loop = TRUE startTime <stopTime

Zyklenabfolge biszur Stopzeit

loop = FALSE stopTime <=startTime

1 Zyklus, Stop beiStartzeit + Zykluszeit

loop = FALSE startTime <stopTime

1 Zyklus, Stop beiStartzeit + Zykluszeitoder Stopzeit, fallsdiese vorher

Page 49: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 49/64 Vers. 11 Apr 2023

Animation

• Zeitquelle• Interpolator

– Positioninterpolator– Colorinterpolator– Scalarinterpolator– ...

• Routen: Zeit > Interpolator Interpolator > zu animierender

Wert

Page 50: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 50/64 Vers. 11 Apr 2023

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 [ 1.0 0.0 0.0, 5.0 0.0 0.0 ]

Page 51: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 51/64 Vers. 11 Apr 2023

Routingbeispiel für Animation

Kugel sei ein Transform Node mit ShapeKugelPfad sei ein PositionInterpolator

NodeUhr sei ein TimeSensor Node

ROUTE Uhr.fraction_changed TOKugelPfad.set_fraction

ROUTE KugelPfad.value_changed TOKugel.set_translation

Page 52: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 52/64 Vers. 11 Apr 2023

Inlines

• Einfügen von VRML Dateien in VRML Dateien

• Beispiel:Inline {

url “beispiel.wrl” }

• Eigener Namensraum bei DEF / USE!

Page 53: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 53/64 Vers. 11 Apr 2023

VRML Knoten

• Auflistung aller Nodes und Fields in der VRML Spezifikation

Page 54: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 54/64 Vers. 11 Apr 2023

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

Page 55: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 55/64 Vers. 11 Apr 2023

Prototypen (II)

PROTO Würfel [

field SFVec3f abmessung 1.0 1.0 1.0

] {

Shape { appearence Appearence{

material Material{ } }

geometry Box{

size IS abmessung } }

}

Page 56: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 56/64 Vers. 11 Apr 2023

Externe Prototypen

• Syntax:EXTERNPROTO name [ interface ] { urls }

• Anlegen von Prototypbibliotheken• Beispiel:

EXTERNPROTO Cube [ field SFVec3f abmessung 1.0 1.0 1.0

] {“lib.wrl#Würfel”

}

Page 57: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 57/64 Vers. 11 Apr 2023

Aufbau von VRML - Dateien (II)

• VRML - Header

• Kommentare

• Prototyp - Definitionen

• Knoten und Felder

• Routen

Page 58: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 58/64 Vers. 11 Apr 2023

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

Page 59: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 59/64 Vers. 11 Apr 2023

Browser für VRML

• Cortona (Parallel Graphics), Download: http://www.parallelgraphics.com/cortona/

• BS Contact VRML (Bitmanagement Software) http://www.bitmanagement.de

• Blaxxunhttp://www.blaxxun.de

• Cosmo Player (wird nicht mehr weitergepflegt) • World View

Page 60: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 60/64 Vers. 11 Apr 2023

Informationsressource: WWW (I)

• VRML Konsortium Homepagehttp://www.web3d.org/Gesellschaft mit dem Ziel der Standar-disierung und Verbreitung von VRML

• VRML Repositoryhttp://www.sdsc.edu/vrml/Sehr gute, umfassende Zusammenstellung von Verweisen zum Thema VRML

Page 61: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 61/64 Vers. 11 Apr 2023

Informationsressource: WWW (II)

• ParallelGraphicshttp://www.parallelgraphics.comWichtiger VRML-Browser Hersteller (1)

• blaxxun interactivehttp://www.blaxxun.deWichtiger VRML-Browser Hersteller (2)

• Javasoft Homepagehttp://www.javasoft.com/Wichtige Informationsquelle zu Java

Page 62: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 62/64 Vers. 11 Apr 2023

Informationsressource: WWW (III)

• Xj3D http://www.web3D.org/TaskGroups/source/xj3d.htmlEnthält auch VRML97 Loader für Java3D

• Java API Spezifikationhttp://java.sun.com/products/jdk/1.1/docs/siehe Java Platform Core API

• The Mining Companyhttp://vrml.miningco.com/Grosses Repository

Page 63: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 63/64 Vers. 11 Apr 2023

Informationsressource: Mailinglist

• Wichtigste allgemeine Mailingliste:[email protected] www-vrml

• Liste spezielle zum Thema Scripting:[email protected] vrml-behaviors

• VRML Benutzergruppe (dt.):http://www.inexnet.de/ger-vrml/

Page 64: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 64/64 Vers. 11 Apr 2023

Informationsressource: Buch (I)

• VRML 2.0 Source BookAmes, Nadeau, MorelandWiley, 1996

• Annotated VRML Reference ManualBell, CareyAddison-Wesley, 1997

• Teach Yourself VRML in 21 DaysMarrin, CampbellSAMS Net, 1997

Page 65: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 65/64 Vers. 11 Apr 2023

Informationsressource: Buch (II)

• The VRML 2.0 HandbookHartman, WerneckeAddison-Wesley, 1996

• Late Night VRML 2.0 with JavaRoehl, Couch et al.ZD Press, 1997

• VRML 97 (dt.)Addison-Wesley, 1997

Page 66: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 66/64 Vers. 11 Apr 2023

Informationsressource: Buch (III)

• JAVA for 3D and VRML WorldsLea, Matsuda, MiyashitaNew Riders, 1996

• JAVA 1.1 für Insider (dt.)MorrisonSAMS, 1997

• JAVA 1.1 in a Nutshell (dt.)O’Reilly, 1997

Page 67: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 67/64 Vers. 11 Apr 2023

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.

Page 68: 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.

VRML-Einführung / 2006 SS GDVTobias Breiner Folie 68/64 Vers. 11 Apr 2023

Fragen & Kommentare

? ? !


Top Related