VRML. HTWM Hochschule für Technik und Wirtschaft Mittweida University of applied Sciences

Größe: px
Ab Seite anzeigen:

Download "VRML. HTWM Hochschule für Technik und Wirtschaft Mittweida University of applied Sciences"

Transkript

1 HTWM Hochschule für Technik und Wirtschaft Mittweida University of applied Sciences Technikumsplatz 17 0xxxx Mittweida Fach: Einführung in die Problemorientierte Programmiersprache VRML Vorlesender: Prof. Geissler mitgeschrieben von: Drost Isabel Massaneier Str Waldheim VRML mitgeschrieben von: Drost, Isabel if99wp1 Seite 1 von 15

2 7.3 Background Beobachterposition und Navigation...4 Viewpoint Dynamische Welten - Animation Ereignisse und Routen...5 Das Interface... 5 Die Route... 5 Ereignismodelle Zeitsteuerung und Messung...6 absolute Zeit... 6 relative Zeit... 6 Der TimeSensor-Knoten Animationen Animation im VRML-Browser Was ist für eine Animation erforderlich?...8 Time Sensor zur Zeitsteurerung... 8 Interpolator... 8 Route Interpolatoren...9 Aufbau:... 9 Typen von Interpolatoren Der OrientationInterpolator Der Positioninterpolator Der Farbinterpolator Der Scalarinterpolator Interaktion Was ist Interaktion? Sensoren Berührungssensor TouchSensor Der AnchorKnoten Bewegungssensoren PlaneSensor Cylinder Sensor SphereSensor Abstandssensoren Level of Detail Collision Proximity Das Programminterface Der Script Knoten...13 Komponenten: url field eventin eventout Datentypen SFBool SFColor, MFColor SFFloat, MFFloat mitgeschrieben von: Drost, Isabel if99wp1 Seite 2 von 15

3 SFInt SFNode, MFNode SFRotation, MFRotation SFString, MFString SFTime, MFTime SFVec2f, MFVec2f SFVec3f, MFVec3f mitgeschrieben von: Drost, Isabel if99wp1 Seite 3 von 15

4 7.3 Background Bsp.: Background {skycolor red green blue Hintergrund besteht aus zwei Kugelschalen Beide Kugeln haben einen unendl. großen Radius Nord- Südpol und Horizontlinie existent Farbverläufe werden vom Pol beginnend berechnet Zuordnung von Farben via Farbliste/ Winkelangabe Hintergrund unterliegt keiner Translation, Skalierung, Rotation ist allerdings möglich Betrachter kann alle Teile des Hintergrundes betrach ten, ohne ihm näher zu kommen Knotennamen: - skycolor [RGB, RGB, RGB] - skyangle [,RAD, RAD] Nord Horizont - groundcolor [RGB...] - groundcolor [RAD...] Panorama: durch bis zu secs Bilder definiert (jpeg, gif, png), die auf den Seiten eines unendl großen Würfels um die Szene abgebildet werden Soll Hintergrund sichtbar sein, kann auch eine Seite weggelassen - backurl (vorn), - fronturl(hinten) werden - righturl(rechts), - lefturl(links) Einbindung über: - topurl(links), - bottomurl(unten) bindbare Knoten: BackgroundKnoten=bindbarer Knoten Komponenten oder generelle Einstellungen für eine Szene Pro Knotentyp beliebig viele Def. möglich, nur einer zu einer Zeit verwendet Auswahl an Ereignis gebunden, Trivialfall: Aktivierung im Browser 7.4 Beobachterposition und Navigation Avatar in Szene via Viewpoint und NavigationInfo beeinflußbar (aber eben auch direkt im VRMLBrowserMenü direkt!) Viewpoint Standard: in Richtung der z-achse Änderung via Kamera, Nutzung über Viewpoint Knoten Viewpoints sind bindbar können dazu dienen, in einer komplexen Szene den Standort schnell zu wechsln können animiert werden: virtuelle Reise durch die Szene Attribute: Viewpoint{ position xyz orientation xyz angle fieldof View angle description comment Position: Orientation: fieldofview: - Koordinaten für den - wie soll die Kamera - Sichtfeld im Bogenmaß Kamerastandort, geschwenkt werden? (default: 45 ) - 10m vom KSUrsprung weg - Default: (keine - kleiner= Teleobjektiv ist Standard, Drehung um z-achse) - größer= Weitwinkel mitgeschrieben von: Drost, Isabel if99wp1 - teils nicht unterstützt Seite 4 von 15 - Sichtbar is alles, was davor liegt - beliebige Orientierung möglich Description: - Beschreibung im Browser

5 Navigation: über NavigationInfo { beeinflußbar Bewegungsart (type): walk, fly, examine, none Geschwindigkeit (speed) Headlight ein und ausschalten 8. Dynamische Welten - Animation Erweiterung von statischen Welten um dynamische Effekte - Objekte können ihre Position im Raum und ihre Materialeigenschaften ändern - Beobachter kann aktiv eingreifen Interaktion Abläufe durch Ereignisse gesteuert Basis für Interaktion und Animation bildet das Prozessmodell Grundlagen für die Definition von dynamischen Prozessen 8.1 Ereignisse und Routen ein Ereignis ist eine zeitabhängige Veränderung der Werte für Attr. von Knoten Begin der Veränderung duch einen Knoten (z.b. Taktgeber/ Zeitsensor) oder das Betätigen einer Maustaste (Bewegungssensor) gesteuert dieser Knoten erzeugt Ereignis verbunden mit einem Zeitwert und sendet Signal an andere Knoten Diese empfangen das Signal und können reagieren (Änderung von Form, Farbe, Position, Eigenschaften) Ereignisse=Auslöser dafür, dass sich Objekte im Raum bewegen, sich drehen, Größe, Farbe, Transparenz ändern Um Signale zwischeneinander auszutauschen zu kommunizieren brauchen die Knoten: - ein Kommunikationsinterface (in Form von Variablen; Attribute, die empfangen/ senden können) - Verbindungen zw. den Knoten (Routen) müssen existieren Das Interface für Senden/ Empfangen gibt es in Knoten Felder mit der Spezifikation eventin oder eventout die meisten Knoten haben ein eventin-attribut zum Empfangen. Ein eingehendes Ereignis bewirkt Zustandsänderung im Empfangsknoten Einige Knoten besitzen auch ein oder mehrer eventout-attribute. Darüber werden Zustandsänderungen im Knoten Ereignis eingetreten, z.b. Zeitpunkt erreicht, andern Knoten mitgeteilt werden Die Route zur Kommunikation zwischen einem sendenden und einem empfangenden Knoten verkoppelt zwei Knoten genau für ein Ereignis ROUTE-Anweisung definiert eine Verbindung von einem Knoten mit eventoutfeld zu Knoten mit eventin- Feld knotenname.eventout-feld bzw. knotenname.eventin-feld Name für den Knoten und für das eventfeld EreignisFeld nötig Konventionen für RouteAnw.: - an Bezeichner eines eventout Feldes ist _changed anzuhängen - eventin Feld hat Vorsatz set_ Formal hat Anw. folgendes Aussehen: ROUTE knotenname.enventout-feld_changed TO knotenname.set_eventin-feld Verbindung nur für eventfelder gleichen Datentyps möglich Route-Anweisungen sind keine Knoten Als einzelne Anweisungen werden sie in der Regel am Programmende in beliebiger Reihenfolge aufgeführt, Knoten, auf den sich die Route bezieht muß i.d.r. davor stehen! mitgeschrieben von: Drost, Isabel if99wp1 Seite 5 von 15

6 Ereignismodelle Einfach (Durch Route wird Auftreten eines Ereignisses in einem Knoten genau an einen anderen Knoten vermittelt) out in out in Fan-Out (Ein Ereignis wird für mehrere andere Knoten relevant. Pro Relation eine eigenständige Route. Läuft zeitlich quasiparallel ab.) in Kaskade (in Empfangsknoten wird ein eintreffendes Ereignis selbst ein Ereignis im Knoten erzeugen, was an einen anderen Knoten weitergeleitet wird. Alle Ereignisse, die durch Kaskadierung auftreten, laufen mit dem gleichen Zeitwert ab. out in in out out out in FanIn Mehrer Knoten produzieren Ereignisse für einen Empfangsknoten. Problematisch bei: 1) Über Empfangsknoten brechen gleichzeitig zwie oder mehr Ereignisse über das selbe eventin Feld herein. 2) Es entsheht ein undef. Zustand im Brwoser 8.2 Zeitsteuerung und Messung zeitabhängige Vorgänge haben eine oder mehrere Uhren zur Erzeugung der Zeitpunkte für Ereignisse und zur Steuerung einer Animation Zur Zeitmessung und zum Generieren von zeitabh. Ereignissen: TimeSensorKnoten Zeitmessung erfolgt absolut oder relativ absolute Zeit Zeit in Sekunden seit einem Startzeitpunkt ( GMT) Startpunkt kann beliebig verschoben werden (über Zeitverschiebung in Sekunden) Auf Basis dieser Zeitmessung kann man ein Ereignis für einen bestimmten absoluten Zeitpunkt generieren relative Zeit Zeitgeber, der ein Zeitintervall realisiert von Nöten Timer arbeitet mit relativer Zeitgebung Mit solcher Zeitschleife kann period. Wdh. realisiert werden (zügl. Bewegung etc.) Der TimeSensor-Knoten unabh. von geom. Objekten an beliebiger Stelle im Programm, mit DEF kriegt er einen Namen mitgeschrieben von: Drost, Isabel if99wp1 Seite 6 von 15

7 erzeugt kontinuierliche Ereignisse nach Aktivierung Aufbau: TimeSensor{ enabled #Uhr ein/ aus (eventin) starttime #Startzeit (eventin) stoptime #Stoppzeit cycleinterval #Zyklusdauer loop #Zeitschleife ein/aus (bis hierher exposed, da kann ich einen Wert ändern) isactive time #abs. Zeit cycletime #Zyklusbeginn fraction_changed #relative Zeit... Enabled: Schalter, true oder false starttime: Vorgabe absoluter Startzeitpunkt bezieht sich auf Referenzzeitpunkt (optional) Verstrichene Zeit in Sekunden anzugeben (Default: 0.0) Knoten fängt Arbeit an, wenn interne Uhr des Rechners Startzeitpunkt erreicht/ überschritten hat soll neue Startzeit (ausgehend von einem Ereignis, durch anderen Knoten initiiert) eingestellt werden, darf Knoten nicht aktiviert sein, d.h. er muss explizit via Stoppzeitpunkt deaktiviert werden stoptime absoluter Stopzeitpkt. bei Erreichen werden keine weiteren Ereignisse erzeugt muß größer oder gleich Startzeit sein bei gleichen Werten, werden nur einmal zur Startzeit Ereignisse erzeugt Wert kleiner als startzeit wird ignoriert und führt bei loop True zu endloser Wdh. cycleintervall Solange Stopzeit nicht erreicht, wird Zeitintervall durchlaufen in Sekunden anzugeben ist Loop true, wird die Zeitschleife eben so oft wiederholt durchlaufen Schrittweite ist eine Sekunde loop Zeitschleife (Wdh. des Zeitintervalls) ein-/ ausgeschalten ohne Stopzeit (bzw. Stop<Start) : endlose Wiederholung Bei false wird das Intervall einmal durchlaufen isactive (Typ eventout) zur Startzeit wird einmal Ereignis true erzeugt bei Stopzeit oder bei Ereignis, das enabled auf false setzt, wird einmal ein Ereignis mit false erzeugt time im Sekundentakt werden Ereignisse verbunden mit der absoluten Zeit erzeugt kann weitergegeben werden cycletime zu Beginn des Zeitintervalls: Erzeugung eines Ereig. mit der aktuellen abs. Zeit Synchronisationszweck mit anderen zeitlichen Abläufen fractionchanged mitgeschrieben von: Drost, Isabel if99wp1 Seite 7 von 15

8 aktiver Knoten generiert beim Durchlaufen des Zeitintervalls kontinuierlich Ereignisse mit Bruchteilen dieses Intervalls relative Zeit wird normiert auf den Bereich von als Wert geliefert zur Steuerung von Animationen Einstellung/ Veränderung der Zeitparameter (starttime, stoptime, cycleinterval) kann durch Ereignisse erfolgen Zeitsensor muß dazu gestoppt sein Schalterstellung enabled ist dazu irrelevant. Stoppzeit muss erreicht sein. Eine Endlosschleife: TimeSensor { cycleinterval 5.0 #5 Sekunden pro Zyklus loop true #Zeitschleife ein 9. Animationen 9.1. Animation im VRML-Browser ähnliche Verfahren, wie bei der Image-Animation (Trickfilm/ animiertes Gif) jede kleinste Änderung eins Objektes im Raum muß als neue Sicht im Browser generiert werden in VRML muß nicht jedes Bild einzeln programmiert werden => Änderungen werden durch Interpoltation /-toren vom Browser übernommen Verfahren: KeyframeAnimation ähnlich der Videokompression 9.2. Was ist für eine Animation erforderlich? Zeitgeber, Interpolator, Route und einen zu animierenden Knoten Sende- und Empfangsknoten müssen eindeutigen Namen haben Time Sensor zur Zeitsteurerung DEF timer TimeSensor { cycleinterval 10.0 loop True Für die Steuerung wird die relative, normierte Zeit verwendet. Fraction_changed ist dazu per Default schon drin im Knoten. Interpolator berechnet aus vorgegebenen Phasen und vom Zeitgeber übermittelten Zeit resultierenden Veränderungen, die dem zu änderden Knoten zu übergeben sind. Route zur Weiterleitung von Ereignissen Zusammenwirken: Zeigeber Interpolator Asführungsknoten zwei Route-Anw. nötig: Route timer.fraction_changed TO trans.set_fraction mitgeschrieben von: Drost, Isabel if99wp1 Seite 8 von 15

9 Route trans.value_changed TO knoten.set_translation timer ist Zeitgeber, dessen Ereignisse sind vom Typ fraction_changed, die im Interpolator gebraucht werden Ergebnis der Interpolation geht via value_changed und Kaskadierung zu dem betroffenen Knoten an das Attr. translation Interpolatoren beinhalten Wertevorgaben für jede einzelne Phase Auswahl der Werte entsprechend der Zeit Komuniktation über eventattr. Aufbau: Interpolator { key #Liste der normierten Zeitwerte keyvalues #Werteliste für Phasen set_fraction #eventin Feld für den aktuellen Zeitwert value_changed #eventout Feld für Parameteränderungen key und keyvalue haben äquivalente Anz. von Werten andere beiden Attr. existieren automatisch Typen von Interpolatoren OrientationInterpolator PositionInterpolator ColourInterpolator ScalarInterpolator - Drehung im Raum - Bewegung im Raum - Farbübergänge - Parameterübergänge wie Höhe etc Der OrientationInterpolator Aufbau: OrientationInterpolator { key [...] keyvalues [...] rotation, orientation veränderbar (Beispiel siehe Script) DEF rotate OrientationInterpolator... keyvalue [ #in Raumdiagonalen #Drehung #Drehung 360 ] DEF timer TimeSensor { cycleinterval 10 loop TRUE Abbildung 1 key [0.0, 0.3, 0.6, 1.0] DEF kegel Transform {... Werte für eine animierte Drehung im Raum. Zeitablauf linear aber auch beliebig möglich. Route timer.fraction_changed TO rotate.set_fraction Route rotate.value_changed TO kegel.set_rotation mitgeschrieben von: Drost, Isabel if99wp1 Seite 9 von 15

10 Der Positioninterpolator zeitgesteuerte Bewegung DEF positioninterpolator{ key[0, 0.5 1] keyvalue[0 0 0, 0.3 0, 0 0 0] route timer.fraction_changed TO position.set_fraction route position.value_changed TO kegel.set_translation Route-Anweisungen müssen sich auf den bereits def. Zeitgeber und auf den Positionsinterpolator und das zu bewegende Objekt beziehen Der Farbinterpolator colorinterpolator, benamste Deklaration der Materialeigenschaften des Keggels und RouteAnw. nötig Definition von 4 Farb-Phasen Bsp: DEF farbe ColorInterpolator{key[...] value[...] Bennenung von Materialknoten: DEF face Material {... Material USE face Der Scalarinterpolator erlaubt die Interpolation einer einfachen reellen Zahl, d.h., wir können damit eine Längenangabe, einen Radius, die Intensität einer Lichtquelle oder die Trasparenz einer Oberfläche manipulieren zur Veränderung der Transparenz kann ein benannter Material-Knoten verwendet werden Mittels der Werte im keyvalue-feld im ScalarInterpolator-Konten (transparaenz) wird die Transparenz kontinuierlich verändert 10 Interaktion Was ist Interaktion? direkte Einflußnahme des Benutzers erfolgt über Starten/ Steuern der Animation Einflußnahme erfolgt über Zeigegerät üblicherweise die Maus Ausführen von drei Aktionen möglich: - Zeigen - Anklicken - Ziehen Durch Zeigen, Anklicken, Ziehen wird ein Vorgang gestartet, mit Ziehen wird das Objekt im Raum bewegt Sensoren ermöglichen Interaktion des Betrachters mit dem Objekt Beim Einwirken auf Objekte werden Ereignisse generiert, z.b. beim Ankicken oder bei Berührung von Objekten diese Ereignisse werden vom InterpolatorKnoten verarbeitet, die wiederum Ereignisse für andere Knoten produzieren Einige Sensoren ermöglichen direkte Weiterleitung ihrer Ereignisse an einen Tranfform Knoten In einer Szene kann in einer Hierarchieebene immer nur ein Maus-gesteuerter Sensor aktiv sein (Der bereits behandelte TimeSensor kann mehrfach bzw. parallel benutzt werden) Kommunikation zwischen den Knoten läuft bei einer Interaktion in der Regel nach dem Schema: Sensor zu beeinflußender Knoten mitgeschrieben von: Drost, Isabel if99wp1 Seite 10 von 15

11 Es gibt für die unterschiedlichen Aufgaben verschiedene Typen von Sensoren: TimeSensor (Zeitgeber) Touchsensor (Berührung mit dem Mauszeiger) Anchor (Hyperlink) planesensor (Bewegung von Obj. in Ebene durch Ziehen Cylinder Sensor (Roation) SphereSensor (Rotation um alle Raumachsen LOD (Registriert Entfernung des Avatars zu einem Obj) Collision (Registriert Kollision des Avatars mit Obj) ProximitySensor (Registriert Bewegung des Avatars) VisiblitySensor (Registriert Sichtbarkeit eines Obj) mit deren Hilfe kann Interaktion du Animation auch gekoppelt werden Welche Objekte durch die Sensoren erfasst wreden sollen, können Sie durch die Gruppierung der Knoten festlegen (Group- bzw. Transform-Knoten) Berührungssensor reagiert auf Position Mauszeiger Unterscheidung zwischen Beginn des visuellen Kontakts und Ende sind Schatler, mit denen Aktivitäten gesteuert werden können zwei Sensoren existent: - Touchsensor (Bewegung Zeiger, Betätigung der lnken Maustaste - Anchor-Knoten erlaubt Zuordnung einer HTML-Seite touchtime isover isactive TouchSensor zwei Schalter (eventout Felder), produzieren verschiedene Ereignisse in Abhängigkeit von Mausposition und Status der Maustaste - enabled exposed Standard=true; liefert Ereign. bei Berührung von Objekten dersel - ben Gruppe im Szenegraphen, in dem auch dieser Sensor ist - isover eventout vermittelt Mausposition; true bei Berührung - isactive eventout true bei gedrückter Maustaste, nur wirksam beim Zeigen auf ein Objekt - touchtime eventout enthält aktuellen Zeitpunkt, erzeugt beim Loslassen der Maustaste, kann direkt zum Starten/ Stoppen von Animationen genutzt werden ENABLED Vorgehensweise: setze Timesensor auf loop=true und enabled false; gib in der RouteAnweisung erst dem Timesensor den enabled auf true (Beispiele siehe Intranet) Bei Verwendung von n TouchSensoren hat ein Sensor nur Auswirkungen auf Objekte derselben Gruppe pro Gruppe kann nur ein TouchSensor aktiv sein beim Ansprechen mehrerer Objekte muß ich für jedes Objekt einen eigenen Sensor angeben Kopplung Sensor/ Obj. erfolgt über GruppenKnoten (Group/ Transform) Der AnchorKnoten Hyperlinks via Anchor definierbar Datenübertragung durch Anklicken eines enthaltenen Kindknotens von der angegebenen URL via Webbrowser gestartet handelt es sich um HTML, wird das VRML-Fenster geschlossen oder ein neues Browserfenster geöffnet handelt es sich um ein VRML-Script, wird die Szene geladen, Avatar wird in neue Welt teleportiert - children durch Anklicken des Kindes, Start der Übertragung mitgeschrieben von: Drost, Isabel if99wp1 Seite 11 von 15

12 - description Beschreibung in Statuszeile anzuzeigen - parameter dem VRMLViewer oder dem Browser Parameter und Werte übergeben - URL Liste von URLs, die von links nach rechts verwendet werden können erste gefundene Ressource wird angezeigt handelt es sich um ein VRMLScript kann zusätzlich ein Viewpoint in der Szene genutzt werden Sprung innerhalb einer Szene realisierbar (URL [ #viewpointname ]) Bewegungssensoren PlaneSensor steuert Bewegung in der x-y-ebene PlaneSensor { enabled TRUE isactive #eventout, Maustaste gedrückt=true translation_changed #eventout der PlaneSensor erfasst kontinuierl. Mausbewegung und sendet Ereignisse (translation_changed) zu einem Transform Knoten in diesem Knoten ist das Objekt zu definieren, Sensordefinition sollte in die Transform eingebettet werden Mauszeiger muß auf dem Objekt gedrückt werden, damit der Sensor wirkt (z.b. der Walkmodus läßt sich von überall her aufrufen) auch die route-anweisung sollte in einer einschließenden Transform stehen und das Ereignis Standort geändert an die innere Transform gehen. Die einschließende Transform stellt die Grundposition im Raum dar. Transform parent Transform child Route from child to parent Cylinder Sensor Rotation um die y-achse CylinderSensor { enabled TRUE isactive rotation_changed Hierarchieebene wie oben, parenttransform kann hier weggelassen werden #eventout, Maustaste gedrückt=true #eventout y x SphereSensor Rotation um alle drei Achsen Hierarchieebene wie bei Abstandssensoren Collision LOD (level of detail) ProximitySensor registrieren die Bewegung des Avatars in der Szene Ergebnis dieser Abstandsmessung wird je Sensor unterschiedl. ausgewertet mitgeschrieben von: Drost, Isabel if99wp1 Seite 12 von 15

13 Level of Detail Umschaltung zwischen unterschiedlichen Darstellungen je nach Abstand des Avatars LOD { level[kindknoten, Kindknoten] range[entfernung für Kind1, Entfernung für Kind1] level Auflistung von Kindknoten vom nächsten bis entferntesten range eines dieser Gebilde wird in Abhängigkeit von der Entfernung des Betrachters dargestellt Auswahl durch: Reihenfolge der Objekte Entfernungsangaben im range absolute Entfernung des Beobachters level[ele1, Ele2, Ele3 ] range[2, 5, 10 ] Collision mißt, ob ich gegen 'ne Wand laufe ;-) Proximity man erstelle eine Linie, gehe ich dadrüber, verursache ich ein Ereignis 11. Das Programminterface Der Script Knoten Komponenten: url Einbindung eines Programmes, das die Fkt. des Knotens festlegt zum Beispiel: url "script_name.js" Programme in beliebiger Sprache einbindbar, meisten VRML-Browser unterstützen jedoch nur Java und JavaScript mit eingeschränktem Sprachumfang Der Programmcode kann auch direkt im Knoten angegeben werden: url "javascript:... Scriptcode..." field Variable oder Konstanten für ein Script werden über das Feld field als Attribute spezifiziert field SFFloat wert 0 SFFloat legt den Datentyp real fest, Name ist wert, Anfangswert ist 0 Solche Parameter sind unabhängig von irgendwelchen Ereignissen eventin EingabeParameter für ein Programm eventin datentyp funktionsname ergibt einen zeitgesteuerten oder ereignis- Funktionsaufruf in meinem Programm Wertübergabe über den formalen Parameter der entsprechenden Funktion mitgeschrieben von: Drost, Isabel if99wp1 Seite 13 von 15

14 eventout Einführung in die problemorientierte Programmiersprache VRML die Ergebnisse eines Programmes werden über die in den eventoutattributen definierten Variablen übergeben eventout SFFloat value_changed (value_changed=variable aus dem Script) Bei Abarbeitung des Scripts werden die Variablen berechnet Beendigung der Funktion erzeugt aus diesem Wert ein Ereignis Datentypen pro Attribut und Knoten sind Datentypen definiert es gibt die Konstruktionen: SF... single field; MF... multiple field (Auflistung mehrer Felder, durch Komma getrennt) Datentypen abhängig von der Art des Attributs und den Spezifikationen Field, exposefild, eventin, eventout für die Nutzung des Programm Interfaces bzw. beim Prototyping anzugeben Einzelfeld entspricht einzelnen Variablen einer Programmiersprache (Boolean, Integer, Real, Double) bzw. einem Array mit 2, 3, 4 Elementen. Für die Auflistung mehrerer Werte wird als Trennzeichen das Leerzeichen genutzt. Datentypen der MF können in Programmen durch mehrdimensionale Arrays nachgebildet werden SFBool einfacher boolscher Wert (true, false) bei enabled, isactive, isover mit false als default SFColor, MFColor Spezifiziert als einzelnes bzw. 0 oder mehrere RGB-FarbTripel z.b. diffusecolor, color mit dem default 000 bzw. MFColor[] SFFloat, MFFloat einfacher 0 oder mehrere Realwerte, transparency, height im elevationgrid mit 0.0 als default SFInt32 einfacher integerwert, SFNode, MFNode Spezifiziert einen bzw. 0 oder mehrere Knoten Sphere, Transform, Group Default NULL, [ ] SFRotation, MFRotation Eine/ 0/ mehrere Angaben entsprechend dem Attribut rotation Default 0010 [ ] SFString, MFString eine/ 0/ mehrere Zeichenketten entsprechend string SFTime, MFTime Eine/ 0/ mehrere Zeitangaben absolute Zeit (Double) entsprechend dem Attribut time (64bit) SFVec2f, MFVec2f Spezifiziert einen/ 0/ mehrere Vectoren (2D) Real z.b. crosssection im Knoten Extrusion SFVec3f, MFVec3f 3D Vector im translation/ point Knoten mitgeschrieben von: Drost, Isabel if99wp1 Seite 14 von 15

15 (Beispiele siehe auch Script) Einführung in die problemorientierte Programmiersprache VRML mitgeschrieben von: Drost, Isabel if99wp1 Seite 15 von 15

3D-Visualisierung von bewegten Objekten. Vortrag in Anwendungen I

3D-Visualisierung von bewegten Objekten. Vortrag in Anwendungen I 3D-Visualisierung von bewegten Objekten Vortrag in Anwendungen I Stephan Koops 08.06.2005 Agenda Motivation VRML Animation Logik in der 3D-Welt X3D VRML- und X3D-Viewer Editoren Mein Beitrag zum Ferienclub

Mehr

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Reality Marc Erich Latoschik AI & VR Lab Artificial Intelligence Group University of Bielefeld VRML and X3D Virtual Reality Modeling Language Extensible 3D VRML X3D

Mehr

Virtuelle Realität und Simulation - Übung 1

Virtuelle Realität und Simulation - Übung 1 Virtuelle Realität und Simulation - Übung 1 Einführung Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 6. Oktober 2010 Institut für Informatik

Mehr

3D-Visualisierung von bewegten Objekten

3D-Visualisierung von bewegten Objekten Zusammenfassung des Vortrages 3D-Visualisierung von bewegten Objekten gehalten von Stephan Koops am 8. Juni 2005 im Rahmen des Projektes Ferienclub Stephan.Koops@informatik.haw-hamburg.de Hochschule für

Mehr

11. Computergrafik und Virtuelle Realität

11. Computergrafik und Virtuelle Realität 11. Computergrafik und Virtuelle Realität 11.1 Grundlagen der 2D-Computergrafik 11.2 2D-Vektorgrafik mit XML: SVG 11.3 Grundlagen der 3D-Computergrafik 11.4 3D-Computergrafik: VRML Literatur: Alan Watt:

Mehr

3D-Welten - Technik und Einsatzszenarien

3D-Welten - Technik und Einsatzszenarien 3D-Welten - Technik und Einsatzszenarien Prof. Dr. Andreas Henrich Lehrstuhl für Medieninformatik Fakultät für Wirtschaftsinformatik und Angewandte Informatik Otto-Friedrich-Universität Bamberg, 96045

Mehr

Virtuelle Realität. G. Zachmann Clausthal University, Germany cg.in.tu-clausthal.de

Virtuelle Realität. G. Zachmann Clausthal University, Germany cg.in.tu-clausthal.de lausthal Virtuelle Realität X3D / VRML lausthal University, ermany cg.in.tu-clausthal.de X3D / VRML Was ist X3D/VRML? Scenegraph & File-Format, plus Multimedia-Support Hyperlinks Verhalten und Animationen

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Java Kurzreferenz Für Fortgeschrittene

Java Kurzreferenz Für Fortgeschrittene Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen

Mehr

Computer-Graphik II Scenegraphs / VRML

Computer-Graphik II Scenegraphs / VRML lausthal Motivation omputer-raphik II Scenegraphs / VRML Immediate mode vs. retained mode: Immediate mode = OpenL / Direc3D = App. schickt Pgone / State- Befehle an die rafik = flexibler Retained mode

Mehr

ANIMATION - GRUNDLAGEN

ANIMATION - GRUNDLAGEN ANIMATION - GRUNDLAGEN Bei CAD-Programmen gibt es meist folgende Verfahren zur Erzeugung von : Festlegung von Schlüsselszenen, aus denen das Programm automatisch Zwischenbilder generiert ( Keyframing )

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 10 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 9. Vorlesung Datenfelder (Arrays) Statische Felder Dynamische Felder Bestimmung der Grenzen Felder als Parameter für Prozeduren/Funktionen Beispiele:

Mehr

Warten auf Ereignisse

Warten auf Ereignisse Abb. 1: Diese Botschaften wurden von dem Programm WINSIGHT aufgezeichnet. Warten auf Ereignisse Wenn wir in einem Windows-Programm eine Schaltfläche anklicken, wenn wir die Maus bewegen oder eine Taste

Mehr

Android: Property Animation

Android: Property Animation Prof. Dr. Carsten Vogt,, Mar. 2015 Carsten Vogt,, 2015. Android: Property Animation Techniken für Fortgeschrittene Prof. Dr. Carsten Vogt Prof. Dr. Carsten Vogt,, Mar. 2015 Carsten Vogt,, 2015. Android:

Mehr

Übung Datenstrukturen. Objektorientierung in C++

Übung Datenstrukturen. Objektorientierung in C++ Übung Datenstrukturen Objektorientierung in C++ Aufgabe 1a - Farben Schreiben Sie eine Klasse COLOR zur Beschreibung von Farben. Eine Farbe werde hierbei additiv durch ihren Rot-, Grün- und Blauanteil

Mehr

Tutorium für Fortgeschrittene

Tutorium für Fortgeschrittene Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste

Mehr

Access 2010 Programmierung Schleifen

Access 2010 Programmierung Schleifen Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Szenengraph-Architekturen - 1 Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Hauptseminar Medieninformatik Christina Eicher 10. Mai 2004 Inhalt Szenengraph-Architekturen - 2 Teil 1: Szenengraphen

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

3.5 Implizite Beschreibungen

3.5 Implizite Beschreibungen 3.5 Implizite Beschreibungen 3 Repräsentation und Modellierung von Objekten Idee: Beschreibung von Objekt-Flächen bzw. -Volumina als Isoflächen in Skalarfeldern. Die Skalarfelder ihrerseits entstehen kontrolliert

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Javascript. Einführung in Javascript. Autor: Christian Terbeck Erscheinungsjahr: 2014 -1-

Javascript. Einführung in Javascript. Autor: Christian Terbeck Erscheinungsjahr: 2014 -1- Javascript Einführung in Javascript Autor: Erscheinungsjahr: 2014-1- Inhaltsverzeichnis 1) Einführung 1. Allgemeines 2. Funktionalität 3. Syntax 4. Semantik 2) Die Grundlagen 1. Event-Handler 1. Schreibweise

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Die Core-Tags. Die Core-Tags werden über den Tag Lib Desktiptor c.tld beschrieben und bekommen den Namensraum c zugewiesen.

Die Core-Tags. Die Core-Tags werden über den Tag Lib Desktiptor c.tld beschrieben und bekommen den Namensraum c zugewiesen. Die Core-Tags Core-Tags einbinden Die Core-Tags werden über den Tag Lib Desktiptor c.tld beschrieben und bekommen den Namensraum c zugewiesen. Es gibt kaum einen Grund, diesen Namensraum zu ändern!

Mehr

Modellierung virtueller 3D-Welten für das Internet

Modellierung virtueller 3D-Welten für das Internet Modellierung virtueller 3D-Welten für das Internet Verfasser: Prof. Dr. D. Hannemann, Hermann-Löns-Str.6, 45849 Gelsenkirchen. email: 100302.1665@compuserve.com. Internet-Homepage: http://www.dieterhannemann.de

Mehr

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Kurzanleitung zur Verwendung der Java-IDE NetBeans (1)

Kurzanleitung zur Verwendung der Java-IDE NetBeans (1) FG TECHNISCHE INFORMATIK U JV 055 01 TH 01 Kurzanleitung zur Verwendung der Java-IDE NetBeans (1) Erzeugung eines neuen Projekts Start der NetBeans-IDE Menü "Datei" Auswahl "Neues Projekt" (CTRL-Shift-N)

Mehr

Programmierung des Lego NXT in C. Hochschule Mannheim Fakultät für Informatik

Programmierung des Lego NXT in C. Hochschule Mannheim Fakultät für Informatik Programmierung des Lego NXT in C Hochschule Mannheim Fakultät für Informatik Der NXT Stein Technische Daten 32-bit ARM7 Microcontroller 256 Kbytes FLASH, 64 Kbytes RAM 8-bit AVR microcontroller 4 Kbytes

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Application Note Nr. 102 RS485 Kommunikation

Application Note Nr. 102 RS485 Kommunikation 1 v. 6 1 Inhalt 1 Inhalt...1 2 Einleitung...1 3 Aufbau eines RS485 Feldbusses...1 4 Anschluss des RS485 Interface am ARS2000...2 5 Aktivierung der im ARS2000...3 6 RS485 Protokoll für den ARS2000...4 7

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Aufgabe 1 Erstelle mit Hilfe von GEOGEBRA ein dynamisches Geometrie-Programm, das die Mittelsenkrechte

Aufgabe 1 Erstelle mit Hilfe von GEOGEBRA ein dynamisches Geometrie-Programm, das die Mittelsenkrechte AB Mathematik Experimentieren mit GeoGebra Merke Alle folgenden Aufgaben sind mit dem Programm GEOGEBRA auszuführen! Eine ausführliche Einführung in die Bedienung des Programmes erfolgt im Unterricht.

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 4 Informationsverarbeitung im Bauwesen Markus Uhlmann basierend auf Folien von A. Brugger 1 Zusammenfassung der 3. Vorlesung Einführung in Excel/VBA Einführung in die Tabellenkalkulation Erste Schritte

Mehr

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Array-Zuweisungen Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Ausschnitte (slices) werden über die Indizes gebildet. Mehrdimensionale Arrays Mehrdimensionale Arrays werden

Mehr

Entwicklungstand der GUI

Entwicklungstand der GUI 1/13 Entwicklungstand der GUI Dietrich Vogel dvogel@physik.uni-wuppertal.de 7. Juli 2004 2/13 Inhalt 1.Konzept 2.Entwicklungsstand 3.Bestehende Probleme 4.Weitere Entwicklungsstrategie 5.Fragen, Diskussion

Mehr

Bedienungsanleitung PI-LED Client PC Applikation

Bedienungsanleitung PI-LED Client PC Applikation 1 SYSTEM VORAUSSETZUNGEN USB Stick Treiber oder DALI Cockpit installiert PC Applikation installiert Zigbee oder DALI Netzwerk erstellt und Leuchtengruppen eingerichtet USB Stick oder DALI USB eingesteckt

Mehr

SIENNA Home Connect. Bedienungsanleitung V2.6

SIENNA Home Connect. Bedienungsanleitung V2.6 SIENNA Home Connect Bedienungsanleitung V2.6, Rupert-Mayer-Str. 44, 81379 München, Deutschland Tel +49-89-12294700 Fax +49-89-72430099 Copyright 2015. Inhaltsverzeichnis 1 INSTALLATION... 3 1.1 FW UPDATE

Mehr

Bedienungsanleitung epsp. Bedienungsanleitung. Version: 1.3. Version 1.3 Datum: 07.03.2006 Seite 1 von 12

Bedienungsanleitung epsp. Bedienungsanleitung. Version: 1.3. Version 1.3 Datum: 07.03.2006 Seite 1 von 12 Bedienungsanleitung Version: 1.3 Version 1.3 Datum: 07.03.2006 Seite 1 von 12 Anwendungsgebiete für den Projektstrukturplan Der Projektstrukturplan (PSP) ist eine Gliederung der Gesamtaufgabe in plan-

Mehr

Variablen und Konstanten

Variablen und Konstanten Variablen und Konstanten Variablen und Konstanten werden benötigt, um sich in Prozeduren Werte zu merken oder zu übergeben. Es gibt numerische Werte (1 / 10,9) und es gibt alphanumerische Zeichenfolgen

Mehr

3D-Konstruktionsgrafik. FRILO Software GmbH Stand:

3D-Konstruktionsgrafik. FRILO Software GmbH  Stand: FRILO Software GmbH www.frilo.de info@frilo.eu Stand: 19.10.2015 3D-Konstruktionsgrafik Diese Dokumentation informiert über die Grundlagen zur 3D-Grafikansicht unserer Programme. Inhaltsverzeichnis Anwendungsmöglichkeiten...

Mehr

Teamprojekt: Programmierung verteilter eingebetteter Systeme

Teamprojekt: Programmierung verteilter eingebetteter Systeme Stephan Friedrichs, Henning Günther, Sven Hesse, Oliver Mielentz, Christoph Peltz, Martin Wegner 8. Februar 2008 Inhaltsverzeichnis 1 Ziele 3 1.1 Beschreibung...............................................

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Anbindung FLIR-Kameras FC Serie / T 43 (TCX) an IP-VCA

Anbindung FLIR-Kameras FC Serie / T 43 (TCX) an IP-VCA Anbindung FLIR-Kameras FC Serie / T 43 (TCX) an IP-VCA Systemvoraussetzungen: - FLIR Kamera FC-(R) bzw. T43 Serie ( Mini Bullet ) - IP-VCA ab Firmware Version ab 2.17 (T43 Serie ab Version 2.21!) und PC

Mehr

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife 303 Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife durchgeführt wird. 304 305 for-schleifen sind in Aktivitätsdiagrammen

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

33 CSS in HTML einbinden

33 CSS in HTML einbinden D3kjd3Di38lk323nnm 256 33 CSS in HTML einbinden Damit CSS auf HTML wirken kann, muss eine Verknüpfung hergestellt werden. Dafür stehen verschiedene Möglichkeiten zur Verfügung, die in diesem Kapitel beschrieben

Mehr

11. Aufgabenblatt 30.06.2010

11. Aufgabenblatt 30.06.2010 Einführung in Computer Microsystems Sommersemester 2010 Wolfgang Heenes 11. Aufgabenblatt 30.06.2010 Aufgabe 1: Einführung in MatLab/Simulink/Stateflow MatLab 1 ist ein Programm zum wissenschaftlichen,

Mehr

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. 1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. Beschreiben Sie ferner je einen frei gewählten Datentyp aus der Gruppe der skalaren und einen aus der Gruppe der strukturierten

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Dynamische Geometrie

Dynamische Geometrie Dynamische Geometrie 1) Die Mittelsenkrechten, die Seitenhalbierenden, die Höhen und die Winkelhalbierenden eines beliebigen Dreiecks schneiden sich jeweils in einem Punkt. a) Untersuchen Sie die Lage

Mehr

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings c.sz@wwu.de 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9

Mehr

Messungen mit dem Taschenrechner - Kurzbeschreibung

Messungen mit dem Taschenrechner - Kurzbeschreibung Universität Bielefeld Fakultät für Physik Physik und ihre Didaktik Prof. Dr. Bärbel Fromme Messungen mit dem Taschenrechner - Kurzbeschreibung Vorbereitungen: Interface CBL2 an Taschenrechner anschließen,

Mehr

FLASH IMAGESLIDER PROFESSIONELL 4

FLASH IMAGESLIDER PROFESSIONELL 4 FLASH IMAGESLIDER PROFESSIONELL 4 ANLEITUNG, PARAMETERBESCHREIBUNG, HINWEISE UND ERKLÄRUNGEN Version 2.0 - August 2011 Mark Kirstein, sector12 PARAMETERBESCHREIBUNG In diesem Bereich sind alle Parameter

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Steuerung der Rollläden

Steuerung der Rollläden Steuerung der Rollläden Die automatischen Rollläden verbessen nicht nur den Komfort sondern auch senken die Betriebskosten des Gebäudes. Die gut geplante Steuerung der Rollläden beeinflusst verschiedene

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Fenster in Java. von Stefanie Gerckens 1

Fenster in Java. von Stefanie Gerckens 1 Fenster in Java von Stefanie Gerckens 1 Inhaltsverzeichnis Die verschiedenen Fensterklassen Aufrufen und Schließen eines Fensters Visuelle Eigenschaften eines Fensters Anzeigezustand eines Fensters Fensterelemente

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf

Mehr

Handbuch UTA12 Sequence Control

Handbuch UTA12 Sequence Control Handbuch UTA12 Sequence Control 1. Voraussetzungen ein oder mehrere, am PC angeschlossene UTA-Interfaces (eins davon kann ausgewählt werden) eine gültige Exceltabelle (sheet) oder eine gültige CSV-Datei

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Betrieb von TE25 Basic 2L und TE60 Control 2L mit LON oder LAN als paralleles Anzeigetableau

Betrieb von TE25 Basic 2L und TE60 Control 2L mit LON oder LAN als paralleles Anzeigetableau Betrieb von TE25 Basic 2L und TE60 Control 2L mit LON oder LAN als paralleles Anzeigetableau Hierbei kann entweder ein LON Netzwerk mit Explicite Message oder ein LAN Netzwerk verwendet werden. Bei LON

Mehr

Benutzerhandbuch pdfprint für Magento2

Benutzerhandbuch pdfprint für Magento2 Benutzerhandbuch pdfprint für Magento2 Für aktuelle Information besuchen Sie bitte unsere website. INSTALLATION Installation über Magento Marketplace Für mehr Informationen besuchen Sie bitte die Webseite

Mehr

3. Die Programmiersprache Java

3. Die Programmiersprache Java 3. Die Programmiersprache Java 3.1 Arbeiten mit BlueJ 3.2 Objekte und Klassen 3.3 Klassen und Unterklassen 3.4 Daten und Operationen 3.5 Ausdrücke 3.6 Algorithmische Kernsprache 3.7 Sprachbeschreibung

Mehr

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5)

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) Hinweise: Diese Installation bezieht sich auf die Version 7.5.0.5, bei Nachfolgern kann sich einiges ändern Herunter geladen

Mehr

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich. Kapitel 1 Animation (Belebung) Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich. Anwendungen findet die

Mehr

AutoCAD, dynamischer Block Gert Domsch, CAD-Dienstleistung

AutoCAD, dynamischer Block Gert Domsch, CAD-Dienstleistung AutoCAD, 2010-2014 dynamischer Block Gert Domsch, CAD-Dienstleistung 30.05.2014 Inhalt: Ziel... 2 Ausgangssituation... 2 Blockeditor... 3 Dynamische Blockfunktionen... 5 Parameter... 5 Aktion... 6 Feste

Mehr

3. Experiment 1: Den Graphen treffen (Match It) Hinkelmann: Experimente zur Mechanik mit dem CBR 9

3. Experiment 1: Den Graphen treffen (Match It) Hinkelmann: Experimente zur Mechanik mit dem CBR 9 Hinkelmann: Experimente zur Mechanik mit dem CBR 9 Spätestens an dieser Stelle muss die Verbindung mit dem CBR hergestellt sein, da es sonst zu einer Fehlermeldung kommt. Je nach den getroffenen Voreinstellungen

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

5 - CAMERA - RIG ADOBE AFTER EFFECTS. von Christoph Schreiber und Stefan Bernhardt Fulldome - Fachmodul WS 2010 / 11 Bauhaus - Universität Weimar

5 - CAMERA - RIG ADOBE AFTER EFFECTS. von Christoph Schreiber und Stefan Bernhardt Fulldome - Fachmodul WS 2010 / 11 Bauhaus - Universität Weimar ADOBE AFTER EFFECTS 5 - CAMERA - RIG von Christoph Schreiber und Stefan Bernhardt Fulldome - Fachmodul WS 2010 / 11 Bauhaus - Universität Weimar Beim 5 - Camera - Rig wird mit Hilfe von 5 Kameras ein Fulldome

Mehr

Anleitung zum Java - Applet

Anleitung zum Java - Applet Anleitung zum Java - Applet Stetige Verteilungen Visualisierung von Wahrscheinlichkeit und Zufallsstreubereich bearbeitet von: WS 2004 / 2005 E/TI 7 betreut von: Prof. Dr. Wilhelm Kleppmann Inhaltsverzeichnis

Mehr

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

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

Vectron Player Gesamt-Inhaltsverzeichnis

Vectron Player Gesamt-Inhaltsverzeichnis Vectron Player Übersicht Vector-Synthese Die Oszillator-Sektion Echtzeit-Steuerung Die Filter-Sektion Filter Level Der Joystick Der Nullpunkt Die Fader - Tactive Instrument Modeller Vectron Player Gesamt-Inhaltsverzeichnis

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

xcall Technische Dokumentation

xcall Technische Dokumentation xcall Technische Dokumentation zu Version 4.x Autor: Martin Roth Erstelldatum: 14.08.2008 Version: 1.4 Seite 2 / 7 Zweck...3 Schnittstellenarchitektur...3 Outbound-Schnittstellen...3 Outlook...3 TwixTel...3

Mehr

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 14. Oktober 2006 Markus Endres, Alfons Huhn, Timotheus Preisinger Informatik II Klausur 2 Hinweise: Die Bearbeitungszeit

Mehr

Maus. Mike McBride Brad Hards

Maus. Mike McBride Brad Hards Mike McBride Brad Hards 2 Inhaltsverzeichnis 1 Maus 4 1.1 Allgemein.......................................... 4 1.2 Erweitert........................................... 4 1.3 Mausnavigation.......................................

Mehr

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1 Datenbanken 1 A Datenbanken A.1 Firebird Firebird ist als Datenbank konzipiert, die hauptsächlich in andere Anwendungsprogramme integriert wird. Die hier verwendete Oberfläche ist also eher untypisch für

Mehr

1.1 Erstellen von Anwenderdefinierten Symbolen

1.1 Erstellen von Anwenderdefinierten Symbolen Dialog: NX6 Datei > Dienstprogramme > Anwenderdef. Symbol definieren File > Utilities > Define Custom Symbols Folgende Objekte können zur Erstellung der Anwenderdefinierten Symbole benutzt werden: Alle

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr