Vor-Geschichte von VRML

Ähnliche Dokumente
Warum X3D als ISO Standard?

4. 3. Grafik-Programmierung

Virtuelle Realität und Simulation - Übung 1

Java basierte Browser Plug-ins. Martin Kreis 3D-Graphik im Web WS 02/ Java basierte Browser Plug-ins 1. Übersicht

JA (z.b. über Orthogonalprojektion, ansonsten: Profile entwickelbar), NEIN (zwar planar möglich)

VRML Tools. Markus Czok, Carsten Rohde

3D webservices - where do we stand? Emmanuel Belo emmanuel.belo@camptocamp.com

Web-basierte basierte Kurse: Konzepte und Eigenschaften. Rolf Brugger Swiss Virtual Campus Centre NTE, Fribourg

Web3D Authoring Software. Vortrag im Rahmen des Seminars 3D Graphik im Web. Prof. Dr. Gitta Domik Dipl. Inf. Frank Goetz. Autor: Manuel Hunold

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Objektorientierte graphische Programmierung

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Datenaustausch. Energiewirtschaft 3. Semester. Tillman Swinke

ACROBAT 3D VERSION 8. Abstimmungsprozesse und technische Dokumentation mit großen 3D Modellen. Ulrich Isermeyer Business Development Manager Acrobat

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Java und XML 2. Java und XML

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

Wiederholung: Beginn

3d XML, 3d XML Player

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

Online-Publishing mit HTML und CSS für Einsteigerinnen

Die Virtuelle Baufakultät der Universität Innsbruck - VRML als 3D-Informationssystem

DATENFORMATE IM INTERNET

Applets I. Grundlagen der g Applet-Programmierung

Sachwortverzeichnis

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Webdesign mit HTML und CSS Einführungsabend

3D-Visualisierung von bewegten Objekten

Java 3D Einstiegs-Tutorial Teil 1

Realtime 3D Computer Graphics Virtual Reality

Information über die WebServices der Parlamentsdienste

Inhalt. Teil I: Der Sprachkern von JavaScript

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

Clemens H. Cap Bedarf an Zeit, Speicher, Netz und anderen Ressourcen

AdOps Technische Spezifikationen

Webseiten-Programmierung

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU

Streaming Techniken zur Übertragung multimedialer Daten im Web Universität Paderborn

Wir bewegen Marken. Richtlinien von MRAID basierten InApp-HTML5-MobileAds innerhalb des SevenOne Media Portfolios. InApp HTML5

3. Drucken und Exporte

Open Office Impress. PHBern Institut Sekundarstufe 1 Studienfach Informatik. Unterlagen zum Praktikum Anwenderprogramme. Inhalt

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Die offizielle Homepage, Informationen, Entwicklergemeinde, etc. findet man unter

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) Jakob Külzer jakob.kuelzer@gmail.

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

Programmieren 2 (Prof. Hasbargen) Klausur

0. Einführung. C und C++ (CPP)

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

Scalable Vector Graphics (SVG)

Sicherheit in Rich Internet Applications

Multimediale Werkzeuge. Textformate, Medienobjekte

Multimedia im Netz Wintersemester 2011/12

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG

, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Was ist ein Web Service?

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Einführung in Javadoc

Um einen neuen Konnektor anzulegen klicken sie in der Liste der Konnektoren auf die Schaltfläche Neue Konfiguration.

Securing SOAP e-services

Einführung Internettechnologien. - Clientseitige Programmierung -

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

3-schichtige Informationssystem-Architektur

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Einführung. Internet vs. WWW

Programmieren in Java

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Modul 0: Einführung Basiswissen Multimedia. Modul 1: Information und Kommunikation (IuK)

Web Datei Formate GIF JPEG PNG SVG. Einleitung. GIF Graphic Interchange Format. JPEG Joint Photographic Expert Group. PNG Portable Network Graphic

Software Engineering II

SchlieSSen Sie Ihren Lemur an

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Bausteine einer VRE für die Linguistik - Beispiel:

... MathML XHTML RDF

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Datenhaltung für Android. Model First

Zugriff auf Daten der Wago über eine Webseite

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand

Programmieren von Webinformationssystemen

ERANGER Release Announcement

JavaScript in Drupal

Modellierung virtueller 3D-Welten für das Internet

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Übersicht. Generierung von IPv6-Paketen mit Scapy. Scapy GUI - Kurzvorstellung. Szameitpreiks - Beuth Hochschule für Technik Berlin

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

<Trainingsinhalt> Webdesign mit HTML & CSS

Scala & Lift. Ferenc Lajko

Smartphone Entwicklung mit Android und Java

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Anleitung - Mass er by Patrick Biegel

Technologische Entwicklung von GIS und Internet der letzten Jahre

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Herzlich willkommen im Modul Informatik Grundlagen

Bernhard #wpcb13

EAI - Enterprise Application Integration

Transkript:

Einführung in VRML VRML heisst Virtual Reality Modeling Language, ein Teil von Web3D / X3D. VRML ist einfach ein 3D Datenaustausch- Format: Es besitzt Sprachelemente für die heute in 3D-Applikationen üblichen Elemente wie Objekte, Licht, Texturen... VRML ist ähnlich zu HTML: Dadurch kann man es einfach im Internet als Dokument transportieren und in einem geeigneten Browser anzeigen lassen.

Mehr zu VRML VRML liefert die Technologie, drei Dimensionen, zwei Dimensionen, Text und Multimedia in einem kohärenten Modell unterzubringen. Dadurch entstehen in Verbindung mit Skriptsprachen und dem Internet völlig neue Anwendungsmöglichkeiten. VRML ist die Basis des Cyberspace und von virtuellen on-line Communities. VRML kann per se keine echten Multiuser- Simulationen oder -Welten mit Interaktion darstellen (wie z.b. Rollenspiele etc.).

Noch mehr VRML Auf dem Client wird mit einem Plug-In (z.b. Blaxxun oder cortona) das VRML Format interpretiert und das Rendering besorgt, d.h. die 3D-Darstellung. VRML basiert auf dem von SGI erfundenen Dateiformat Open Inventor, aber besitzt leider kein API (Programmier-Schnittstelle). VRML ist Basis von MPEG4 und Java3D.

Vor-Geschichte von VRML 1992: SGI veröffentlicht das Iris Inventor 3D Toolkit, geschrieben in C++. Hatte bereits viele Eigenschaften des heutigen VRML. 1994: Mark Pesce und Tony Parisi entwickeln einen frühen Prototypen eines 3D-Browsers für das WWW. Sie riefen Interessenten auf, Vorschläge für eine formale Spezifikation von 3D im WWW einzureichen.

Versionen von VRML Die erste Version (VRML 1.0) lässt einige Schlüssel-Eigenschaften vermissen: Keine Animation, Keine Interaktion, Kein Behavior, also Verhalten von Objekten bei Aktionen. 1996: In Kyoto beschliesst die ISO, VRML 2.0 als Standard zu veröffentlichen.

VRML und andere Formate VRML Files können Referenzen zu Files in vielen anderen Formaten enthalten: JPEG, PNG, GIF, MPEG, WAV, MIDI, Java, JavaScript. Dies sind alles unabhängige Standards, die im WWW weit verbreitet sind.

VRML + HTML + Scripting/Java VRML in HTML einbetten: Dies geht mit Hilfe des <EMBED> oder <OBJECT> HTML Tags. Nicht jeder Browser muss das unterstützen. Script-Code in VRML eingebettet: Standard-Feature von VRML 2.0; benutzt einen so genannten Script Node. Java Applet kommuniziert mit VRML Browser: Erweiterung von VRML 2.0, genannt EAI oder External Authoring Interface.

VRML/X3D + JAVA Java Klassen erzeugen und manipulieren VRML nodes: Entwicklungs-Libraries. In Verbindung mit X3D kann man Xj3D benutzen, um X3D zu erzeugen bzw. per SAI zu manipulieren. SAI: Scene Access Interface (=EAI)

Überblick über VRML (1) Scene Graph Struktur: Eine VRML Datei ist hierarchisch aufgebaut. Objekte werden Nodes (Knoten) genannt. Nodes: Es gibt ca. 54 verschiedene Typen von Nodes, z.b. für geometrische Grundformen, Erscheinungs-Eigenschaften, Klänge usw. Nodes speichern ihre Daten in Felder, von denen es 20 verschiedene Typen gibt.

Überblick über VRML (2) Event Architektur: VRML 2.0 kennt einen Event oder Nachrichten- Mechanismus, über den Nodes in einem Scene Graphen miteinander kommunizieren können. Jeder Knotentyp definiert individuelle Events und Event- Typen, die Knoten diese Typs senden und empfangen können. Route-Statements definieren die Verbindungen zwischen Event-Quellen und -Senken. Sensoren: Grund-Elemente für die User-Interaktion und Animation. Animationen werden über TimeSensors gesteuert, die Events generieren und damit die Animation steuern.

Überblick über VRML (3) Script Nodes: Können zwischen Event-Quellen und -Senken geschaltet werden, um das Verhalten z.b. einer Animation zu beeinflussen. Interpolator Nodes: Werden benutzt, um (getriggert durch Events eines TimeNodes) Objekte auf bestimmten Bahnen zu bewegen. Inline Node / EXTERNPROTO: Einbindung anderer VRML Welten (irgendwo aus dem WWW) als Subroutine.

Los gehts mit VRML Buch: VRML 97 bei Addison Wesley (1998) Tutorial im Web: http://web3d.vapourtech.com/tutorials/vrml97/index.html File-Struktur eines.wrl Files: Header: #VRML V2.0 utf8 Scene Graph: Besteht aus Nodes, die hierarchisch angeordnet die Geometrie beschreiben, plus Nodes für Event-Erzeugung und Routung. Prototypes: Dadurch kann man Nodes-Typen erweitern. Event Routing.

Beispiel-VRML-File #VRML V2.0 utf8 Transform { translation 2 0 3 children [ Shape { geometry Sphere { radius 1.5 } } # Ende von Shape ] # Ende von children } # Ende von Transform

Erklärung zum Beispiel # kennzeichnet Kommentare. Transform { } ist ein Gruppenknoten und schliesst einen Scene Graphen ein. Hinter der schliessenden Klammer kann man zu besseren Lesbarkeit auf das zugehörige Schlüsselwort hinweisen. Translation positioniert den Gruppenknoten im Raum. Ausprobieren! Children[] ist ein Feld, das die Kindknoten des Gruppenknotens sammelt, hier nur ein einziges: Eine Kugel mit Radius 1.5

Absolute und relative Position Wenn man mehrere transform{} Knoten nacheinander aufführt, die jeweils ein anderes translation Statement enthalten, wird jeder dieser Knoten absolut positioniert. Man kann auch mehrere solche Knoten ineinander verschachteln, indem man nach dem shape{} Statement den nächsten transform{} Knoten einfügt. Merke: Das ist nicht dasselbe, der Kindknoten erbt die Position des Elternknotens, und translation ist relativ dazu!

Beispiel relative Translation #VRML V2.0 utf8 Transform { translation 2 0 3 children [ Shape { geometry Sphere { radius 1.5 } } # Shape Transform { translation 1 0 1 children [ Shape { geometry Cone { bottomradius 1 height 2} } # Shape Cone ] # children Nr. 2 } # Transform Nr. 2 ] # children } # Transform

Drehen von Objekten Zum Drehen benutzt man das Feld rotation des Knotens transform{}. rotation nimmt Parameter vom Typ SFRotation: yaw pitch roll value Das heisst: Drehung um die X-, Y- und Z- Achse. Und der Drehwinkel im Bogenmass. Beispiel: 1 0 0 3.1415 bedeutet Drehung um X-Achse, etwa 180

Farbe ins Spiel bringen Im Kindknoten Shape ist ein Feld appearance zu setzen. Ein weiterer Knoten material kennt Farben: Shape { } appearance Appearance { material Material { diffusecolor 1 0 0 } # Rot } geometry Sphere {}

Syntax in VRML-Files VRML unterscheidet Groß- und Kleinschreibung: Sphere!= sphere Kommentare beginnen mit # Alles hinter # in der Zeile ist Kommentar Whitespace sind Space, Tab, Komma, Linefeed, Carriage Return: Sie werden ausserhalb von Strings ignoriert. Namen dürfen keine Sonderzeichen oder Whitespace enthalten.

Vergleich mit X3D Die Syntax ist vereinfacht und basiert auf XML (X3D ist eine XML Anwendung) Es gibt die Möglichkeit, Applikations-Daten in der X3D Welt unterzubringen, die der Viewer nicht kennt und ignoriert X3D und Java sind enger miteinander verzahnt als VRML und Java (Xj3D, SAI) X3D kann kompimiert und verschlüsselt werden, die Viewer sollten das können

Vor-Übungen zur Belegarbeit Erstellen Sie jetzt selbst einfache Welten, die aus den Grundgeometrien Sphere, Cone, Box und Cylinder bestehen. Experimentieren Sie mit den transform und rotate Feldern. Beobachten Sie, was bei absoluter und relativer Positionierung gescheht. Viel Spass!