Simulation der Steuerung eines Segelbootes mit OpenSG

Größe: px
Ab Seite anzeigen:

Download "Simulation der Steuerung eines Segelbootes mit OpenSG"

Transkript

1 Simulation der Steuerung eines Segelbootes mit OpenSG Studienarbeit Vorgelegt von Christian Rieder Institut für Computervisualistik Arbeitsgruppe Computergraphik Betreuer: Prüfer: Dipl.-Inform. Matthias Biedermann Prof. Dr.-Ing. Stefan Müller März 2006

2 Inhaltsverzeichnis 1 Einleitung 1 2 Rendering System OpenSG Szenengraph Datenstrukturen Vektoren Matrizen Quaternionen Funktionen Physikalische Grundlagen Translationsbewegung Rotationsbewegung Physik Simulation Numerisches Integrieren - Euler sches Polygonzugverfahren Euler Integration für die Translation Euler Integration für die Rotation Auftrieb Aerodynamik Dynamischer Auftrieb Widerstandskraft Dynamische Auftriebskraft Druckverhältnisse der Tragfläche Segeltheorie Das Segelboot Segelkurse Wahrer Wind - scheinbarer Wind Antriebskräfte Antrieb durch Widerstand Antrieb durch Auftrieb Die Querkraft Die Abdrift Stabilität eines Segelbootes Aerodynamik am Segelboot Praktische Umsetzung Das 3D-Modell Modellierung Exportierung in OpenSG Der Szenengraph des Bootes i

3 5.2 Softwaretechnischer Entwurf Implementierung Die Klasse Boat Die Klasse Wind Die Klasse Simulation Die Klasse Translation Die Klasse Rotation Die Klasse Roll Die Klasse Controls Die Applikation SailSim Der Szenengraph Die Display Methode Ergebnisse 32 7 Fazit und Ausblick Fazit Ausblick Literatur 36 Abbildungsverzeichnis 37 ii

4 1 Einleitung Das Segelboot ist eines der ältesten Fortbewegungsmittel. Auch heute, in einer voll industrialisierten Welt, wird noch gesegelt, allerdings meist als Freizeitaktivität und Sport. Aus versicherungstechnischen Gründen ist es nötig, einen Segelschein bzw. Sportboot Führerschein zu erwerben. Ähnlich wie bei dem Autoführerschein werden erst Theoriestunden besucht und danach die komplexe Segelpraxis erlernt. Während der Theorie wäre es sicherlich interessant das Segeln auf einem Computer vor der Praxis zu simulieren, um den Lernaufwand zu minimieren. Segelsimulatoren, die das Verhaltens eines Segelbootes korrekt simulieren sind jedoch nicht so weit verbreitet wie Simulatoren von Fahr- und Flugzeugen, welche eine extrem hohe Komplexität aufweisen. Ziel der Arbeit ist es, eine physikalisch plausible Steuerung eines Segelbootes in einer Beispielanwendung umzusetzen und zu vermitteln. Ausgehend von einem möglichst realitätsnahen 3D-Modell eines Segelbootes werden geeignete Parameter zur echtzeitfähigen Simulation ausgewählt und steuern in der Anwendung das Verhalten des Modells. Eine grafische Oberfläche gibt zudem Informationen über die relevanten Parameter und bietet einfache Steuerungsmöglichkeiten. 1

5 2 Rendering System Ein Rendering System ist für die Berechnung und Weiterleitung von dreidimensionalen Daten an die Grafikkarte verantwortlich. Hier werden diese von 3D in 2D umgewandelt und an ein Ausgabegerät (Monitor) gesendet werden. Im folgenden Kapitel soll das Rendering System OpenSG erläutert werden. 2.1 OpenSG OpenSG [7] ist ein auf der Idee des Szenengraphen basierendes Echtzeit 1 Rendering System. Die Idee eines solchen Systems ist es, dass der Benutzer interaktiv in Echtzeit, in einer dreidimensionalen Szene navigieren und Aktionen ausführen kann. Die Bibliothek OpenSG setzt auf OpenGL 2 auf und funktioniert als Schicht zwischen Applikation und OpenGL-Code. In OpenSG sind die meisten OpenGL Funktionalitäten durch eigene Methoden gekapselt. Da OpenGL als state machine konzipiert ist und keine Kenntnis über die gesamten Daten einer Szene hat, ist die Berechnung komplexer Szenen mit vielen Polygonen nicht sehr effizient. Im Gegensatz zu OpenGL speichert OpenSG die Szene in einem Szenengraph, welcher hierarchisch aufgebaut ist. So ist es z.b. möglich, Objekte, die sich hinter der Kamera befinden auszublenden. Die Objekte werden dann nicht an OpenGL zum berechnen weitergegeben. Da dadurch die rechenintensive OpenGL States-Changes minimiert werden, kann die sichtbare Szene effizienter und mit geringerem Zeitaufwand berechnet werden. Weitere Vorteile von OpenSG sind die Fähigkeit das System auf Clustern laufen zu lassen, auch in einem heterogenem Netzwerk, und die Multithread optimierte Datenstruktur. OpenSG läuft auf verschiedenen Betriebssystemen (u.a. Windows, Linux und Mac OSX). 2.2 Szenengraph Der Szenengraph sortiert die Geometrie in eine Baumstruktur ein, um die Daten effizient an die Hardware zu schicken. Die Hauptbestandteile sind die Wurzel (Root), Knoten (Nodes) und Kerne (Cores), wobei die Knoten den Kern enthalten, der die Eigenschaften festlegt. Einige wichtige Cores sind der Group-Core, dieser fasst nur die unter ihm liegende Teilbäume zusammen, der Geometry-Core, dieser enthält die Geometrie und der Transform-Core, welcher eine Transformationsmatrix enthält, die auf dem unter ihm liegenden Teilbaum angewendet wird. 2.3 Datenstrukturen OpenSG ist ein Echtzeitsystem ist, mit dem man die Möglichkeit hat, geometrische Objekte in der Szene interaktiv zu transformieren (Translation, Rotation und 1 ab Bilder pro Sekunde wirken Bewegungen ruckelfrei 2 Open Graphics Library 2

6 car geo group wheel front left wheel front right wheel back left wheel back right transform transform transform transform geo wheel front l geo wheel front r geo wheel back l geo wheel back r geometry Abbildung 1: Beispiel eines einfachen Szenengraphen Skalieren). Um diese Transformationen zu kontrollieren stellt OpenSG einige mathematische Datenstrukturen zur Verfügung Vektoren Da Szenen in OpenSG in dem 3-dimensionalen Raum dargestellt werden, ist es müssen Vektoren benutzt werden, um die Orientierung der geometrischen Objekte zu beschreiben. OpenSG stellte eine komplette Vektor-Datenstruktur mit vielseitigen Funktionen zur Verfügung, die aus der Mathematik bekannt sind Matrizen Eine Matrix besteht aus Spalten- und Zeilenvektoren, die Zahlen werden zusammen in Tabellenform angeordnet. Um Objekte in einer Szene zu verschieben, sind Matrizen nötig. Diese Transformationsmatrizen [9] werden in einen Transformation- Core des Szenengraphen eingetragen und auf alle Unterobjekte angewendet. OpenSG besitzt eine Vielzahl von Funktionen, um Matrixoperationen durchführen zu können Quaternionen Quaternionen sind eine Verallgemeinerung der komplexen Zahlen. Die Idee ist, eine Rotation durch die Beziehung eines Vektors und dessen Drehwinkel beschreiben zu können. Quaternionen werden durch einen vierdimensionalen Vektor beschrieben, der aus einen dreidimensionalen Vektor, die Ausrichtung, und einem Rotationswinkel, die Drehung, besteht. Eine Rotation in 3D lässt sich daher sehr einfach 3

7 Abbildung 2: Die Transformationsmatrix (Abb. aus [6]) durch ein Quaternion beschreiben. OpenSG unterstützt auch hier viele Rechenund Umformoperationen. Der Einsatz von Quaternionen ist in einem Echtzeitsystem deshalb empfehlenswert, da die mathematischen Operationen in Bezug auf die Quaternionen effizienter durchgeführt werden können als Matrixoperationen. Abbildung 3: Grafische Darstellung eines Quaternions (Abb. aus [7]) 2.4 Funktionen In der Bibliothek OpenSG befinden sich eine Vielzahl von verschiedener Funktionen, die für diese Studienarbeit eingesetzt wurden. Mit der SkyBackground-Klasse lässt sich z.b. ein Panorama-Hintergrundbild aus sechs Einzelbildern zusammenfügen. Das Hintergrundbild befindet sich in der Szene in unendlicher Entfernung und wird durch eine Kamerabewegung nicht beeinflusst. Kamera und Lichtquellen lassen sich leicht erstellen und sind ein Teil des Szenengraphen. Mit Hilfe einer Navigator-Klasse lässt sich die Bewegung der Maus in eine Bewegung der Kamera transformieren. Der VRML 3 -Loader ermöglicht das Laden von exportierten Modellen aus gängigen Modelliertools wie 3ds max und Maya. 3 Virtual Reality Modeling Language, eine Beschreibungssprache für 3D-Szenen 4

8 3 Physikalische Grundlagen In diesem Abschnitt werden physikalische Grundlagen beschrieben, die für die Segeltheorie und die Kinematik von Bedeutung sind. Diese umfassen die Definition, Erklärung und Beschreibung der Bewegungsgleichungen und der Auftriebs- bzw. der Widerstandskräfte. 3.1 Translationsbewegung Allgemeine Bewegungsgleichungen für die gleichmäßig beschleunigte Bewegung: Weg Zeit Funktion : s = s 0 + v 0 t a 0 t 2 Geschwindigkeit Zeit Funktion : v = v 0 + a 0 t = ṡ Beschleunigungs Zeit Funktion : a = a 0 = konstant = s Sie beschreiben eine Bewegung, die zur Zeit t 0 = 0 an der Stelle s = s 0 mit der Geschwindigkeit v = v 0 beginnt. gleichförmige Bewegung s v a s = vt v = konstant t t a = 0 t s gleichmäßig beschleunigte Bewegung v a s = ½ at² v = at a = konstant t t t Abbildung 4: Weg-Zeit-Diagram Beschleunigte Bewegung 3.2 Rotationsbewegung Die Geschwindigkeit eines Punktes auf einer Kreisbahn ist: v(t) = ω(t) r(t) 5

9 ѡ A v r 0 Abbildung 5: Rotationsgeschwindigkeit Wobei ω die Winkelgeschwindigkeit und r der Abstand zum Drehpunkt ist. Mit Hilfe der Gesetze der Translations- und Rotatinsbewegung (siehe Abb. 6) lässt sich die Fahrt eines Körpers durch ein homogenes Medium beschreiben. Speziell für ein Segelboot ergibt sich eine Translationsbewegung durch die Fahrt des Bootes, und zwei Rotationsbewegungen, durch die Drehung und die Neigung des Bootes. Abbildung 6: Vergleich von Translationsbewegung und Rotationsbewegung 3.3 Physik Simulation Vielfach sind physikalische Zusammenhänge nur mit erheblichem mathematischen Aufwand zu bearbeiten. Die Berechnung bestimmter Werte x zum Zeitpunkt t einer unbekannten Weg-Zeit-Funktion, welche eine gleichmäßig beschleunigte Bewegung beschreibt, ist nur durch das Lösen der Differentialgleichung 4 möglich. Dieser analytische Ansatz ist jedoch für die Berechnung in Echtzeit zu komplex. 4 eine Gleichung, die die Ableitungen einer Funktion enthält 6

10 3.3.1 Numerisches Integrieren - Euler sches Polygonzugverfahren Mit dem Euler schen Polygonzugverfahren, einem der bekanntesten Iterationsverfahren 5, kann ausgehend von einem bekanntem Funktionswert zum Zeitpunkt t und dessen Tangente (bzw. Tangentensteigung) der nächste Funktionswert zum Zeitpunkt t + 1 berechnet werden. Man nähert also die durch die Tangenten oder Ableitungen ermittelten Werte punktweise an den Funktionsverlauf an (Abb. 7). Aus diesem Grund funktioniert dieses Verfahren auch nur dann gut, wenn die Zeitintervalle t genug klein sind. Bei zu großen Intervallen werden die Werte ungenau und die Fehler zu groß, was zu Stabilitätsproblemen der Simulation führt. Abbildung 7: Euler Integration (Abb. aus [6]) Euler Integration für die Translation Die Euler Integration für die Translation beginnt mit der Initialisierung der Startwerte, die Masse m, der Ort s und der Geschwindigkeit v für jeden Massenpunkt zum Zeitpunkt t = 0. Der erste Schritt ist die Darstellung der Szene mit OpenSG zum Zeitpunkt t = 0. Aus der Renderingzeit ergibt sich das Zeitintervall t. Im nächsten Schritt wird die Summe aller Kräfte berechnet. Danach muss die Position aus der alten Geschwindigkeit berechnet werden. In dem darauf folgenden Schritt wir die neue Geschwindigkeit aus der alten Beschleunigung a = F m berechnet. Der letzte Schritt ist die Berechnung des neuen Zeitpunktes t aus dem alten Zeitpunkt t und dem Intervall t. Nun beginnt ein neuer Simulationsablauf mit den neuen Werten. 5 Verfahren zur schrittweisen Annäherung an die Lösung 7

11 Abbildung 8: Schematischer Ablauf der Euler Integration für die Translation Euler Integration für die Rotation Auch die Euler Integration für die Rotation beginnt mit der Initialisierung der Startwerte zum Zeitpunkt t = 0. Die Werte sind der Trägheitstensor J, der Vektor r zum Angriffspunkt einer Kraft F, die Orientierung qorient (als Quaternion) und der Drehimpuls L. Der erste Schritt ist wieder die Darstellung der Szene mit OpenSG zum Zeitpunkt t = 0. Im zweiten Schritt wir zuerst die Orientierung qorient von der Quaternionen-Form in die Matrixform morient umgerechnet. Die neue Winkelgeschwindigkeit ω ergibt sich aus der Matrixmultiplikation der Orientierung morient, des inversen Tensors J 1, der transponierten 6 Matrix morient T und dem Drehimpuls L. Im nächsten Schritt wird die Drehkraft τ aus der Summe aller Kreuzprodukte i r i F i berechnet. Die neue Orientierung qorient ergibt sich aus der alten Orientierung und dem puren Quaternion 7 ω. In dem nachfolgenden Schritt wird der neue Drehimpuls L n+1 aus dem alten Drehimpuls und der Drehkraft τ berechnet. Der letzte Schritt ist wieder die Berechnung des neuen Zeitpunktes t aus dem alten Zeitpunkt t und dem Intervall t. Danach beginnt ein neuer Simulationsablauf. 6 vertauschen von Zeilen- und Reihenvektoren 7 Veckor, interpretiert als ein Quaternion mit Winkel 0 8

12 Abbildung 9: Schematischer Ablauf der Euler Integration für die Rotation 3.4 Auftrieb Als Auftrieb [4] bezeichnet man eine Kraft, die eine Flüssigkeit oder ein Gas auf einen Körper ausübt. Die Kraft, die der Schwerkraft entgegenwirkt, ist der statische Auftrieb. F = ρ V g wobei ρ die Dichte des Gases oder der Flüssigkeit, V das verdrängte Volumen und g die Gewichtskraft des Körpers sind. Ein Boot schwimmt im Wasser, weil die Auftriebskraft der verdrängten Wassermenge gleich der Gewichtskraft des Bootes ist [1]. 3.5 Aerodynamik Die Aerodynamik beschreibt das Strömungsverhalten von Flüssigkeiten und Gasen. Vortrieb und (dynamischer) Auftrieb sind Phänomene der Aerodynamik, die durch Druckunterschiede entstehen. 9

13 3.6 Dynamischer Auftrieb Der dynamische Auftrieb entsteht, wenn sich ein Körper relativ zum Gas oder zur Flüssigkeit bewegt. Die Kraft, die das Gas oder die Flüssigkeit auf den Körper ausübt, besteht aus zwei Komponenten: der Widerstandskraft der dynamischen Auftriebskraft Widerstandskraft Die Widerstandskraft wirkt in Richtung der Anströmung: F w = 1 2 ρ c w A v 2 wobei ρ die Dichte des Gases oder der Flüssigkeit, c w der Widerstandsbeiwert, A die Fläche, auf der der Auftrieb wirkt, und v die Anströmgeschwindigkeit sind. Abbildung 10 zeigt typische Widerstandsbeiwerte für vier Grundkörper. Stromlinienprofil c w = 0,06 Kugel c w = 0,40 Halbkugel c w = 0,80 Scheibe c w = 1,20 Abbildung 10: Widerstandsbeiwerte von Grundkörpern 10

14 3.6.2 Dynamische Auftriebskraft Die dynamische Auftriebskraft wirkt rechtwinklig zur Anströmung (siehe Abb. 11): F a = 1 2 ρ c a A v 2 wobei ρ die Dichte des Gases oder der Flüssigkeit, c w der Auftriebsbeiwert, A die Fläche, auf der der Auftrieb wirkt, und v die Anströmgeschwindigkeit ist Druckverhältnisse der Tragfläche Die Erklärung für den dynamischen Auftrieb sind die unterschiedlichen Druckverhältnisse an einem angeströmten Körper. An dieser sog. Tragfläche entsteht auf der Seite, die entgegen der Richtung der Strömung zeigt, ein Überdruck, auf der anderen Seite, die in Richtung der Strömung zeigt, ein Unterdruck. Dieser Unterdruck bewirkt die Kraft F a, die senkrecht zur Anströmung steht. Zusammen mit der Widerstandskraft F w ergibt sich daraus die Gesamtkraft F g, die senkrecht zur Tragfläche wirkt (Abb. 11). Fa Fg Unterdruck A Anströmung Fw Überdruck Ag A: Querschnittfläche des Profils Ag: Grundfläche des Tragflügels Abbildung 11: Aerodynamische Kräfte an einer Tragfläche 11

15 4 Segeltheorie Das Kapitel Segeltheorie behandelt die theoretischen Grundlagen des Segelns. Hier werden die Grundkörper eines Segelbootes vorgestellt und ihre Funktion erläutert. Weiterhin werden die verschiedenen Segelkurse, die am Segelboot durch Wind verursachten Kräfte, sowie deren Wirkungen vorgestellt. 4.1 Das Segelboot Ein Segelboot besteht aus dem Rumpf, dem Rigg [8] und den Segeln. Der Rumpf ist der Bootskörper, der das Segelboot auf dem Wasser trägt. In der Mitte der Unterseite des Rumpfes ist ein Schwert bzw. Kiel angebracht, am Heck 8 das Ruder. Die Aufgabe des Schwertes bzw. des Kiels ist die Stabilisierung des Bootes. Das Ruder dient zur Steuerung der Fahrtrichtung und wird vom Skipper 9 mit Hilfe der Pinne bedient. Das Rigg ist die Takelage 10 eines Segelbootes. Die Takelage lässt Verklicker Vorstag Großsegel Fock (Vorsegel) Mast Want Saling Großbaum Großschot Pinne Fockschot Ruder Kiel Abbildung 12: Schematische Darstellung einer Kiel-Jolle 8 Hintere Teil des Bootes 9 Schiffsführer 10 das Tauwerk, die Masten und Segel 12

16 Am Wind sich in den Mast und den Baum, welche man Spieren [2] nennt, dem stehendem Gut (Wanten, Stagen) und dem laufendem Gut (Schoten, Fallen) unterteilen. Die Takelage trägt die Segel eines Segelbootes, welche meist aus Vor- und Großsegel bestehen. Die Funktion der von dem Wind angeströmten Segel ist die Entwicklung einer Kraft, die für den Vortrieb genutzt wird. Wanten und Stagen sind starke Drahtseile, welche zur Befestigung bzw. Stabilisierung des Mastes dienen. Die Saling [5] ist an dem Mast angebracht und soll den Wanten mehr Spreiz und dadurch dem Mast mehr Halt verleihen. Außerdem dient die Saling dazu, dem Mast eine nötige Krümmung zu geben, welche die Wölbung der Segel beeinflusst. Die Schot ist das Ende (Tau), mit dem man ein Segel so setzt, wie es der Wind erfordert. Auf der Mastspitze ist der Verklicker montiert, welcher meist aus einem kleinen Fähnchen besteht, das die Windrichtung anzeigt. 4.2 Segelkurse Wie in Abbildung 13 dargestellt kann man mit einem Segelboot bis zu 45 o an den Wind heranfahren (Rennyachten bis zu 38 o ). nur durch Kreuzen zu erreichen ~38 ~45 ~38 ~45 Am Wind max. Geschw. Raumschots halber Wind vor dem Wind Abbildung 13: Der Sektor zum Wind eines Segelbootes 13

17 Am Wind bedeutet, die max. Höhe, die ein Boot fahren kann. Der Winkel zwischen Wind und Kurs 11 ist am kleinsten, die Geschwindigkeit ist gering. Halber Wind bezeichnet den Kurs, bei dem scheinbare Wind (siehe Abb. 14) quer, also mit 90 o, einfällt. Die theoretische Geschwindigkeit des Segelbootes ist hier am größten. Raumer Wind (Raumschots) herrscht zwischen halbem Wind und vor dem Wind. Vor dem Wind bezeichnet den Kurs, bei dem der Wind genau von achtern 12 kommt. All diese Kurse sind spiegelgleich für Backbord und Steuerbord. 4.3 Wahrer Wind - scheinbarer Wind Ein Segelboot bewegt sich durch das Wasser mit einer Geschwindigkeit fort, dabei erfährt es ausser dem wahren Wind 13 noch den Fahrtwind. Diese beiden Winde bilden zusammen den scheinbaren Wind. Mit Hilfe eines Parallelogramms kann man den scheinbaren Wind bestimmen. Abbildung 14 zeigt, dass der scheinbare Wind abhängig von dem gesegelten Kurs größer (Am-Wind-Kurs) oder keiner (Vor-Wind-Kurs) als der wahre Wind ist. Auch die Richtung des wahren Windes variiert mit der Segelrichtung. wahrer Wind scheinbarer Wind wahrer Wind Fahrtwind scheinbarer Wind Fahrtwind wahrer Wind Abbildung 14: Der scheinbare Wind 4.4 Antriebskräfte Es gibt zwei Antriebskräfte mit unterschiedlichen Wirkungen, die verantwortlich sind, dass ein Segelboot auch gegen den Wind fahren kann. 11 die Richtung, die ein Schiff fährt 12 achtern = hinten 13 der tatsächlich wehende Wind 14

18 4.4.1 Antrieb durch Widerstand Die Segel setzten dem von hinten kommenden Wind einen Widerstand entgegen. Es entsteht ein Vortrieb. Je grösser die Fläche des Segels ist, desto grösser ist auch der Widerstand und somit die Geschwindigkeit des Bootes (siehe Abb. 15). Antrieb durch Auftrieb Antrieb durch Widerstand Abbildung 15: Antrieb durch Auftrieb und durch Widerstand Antrieb durch Auftrieb Im Am-Wind-Bereich, der Wind trifft seitlich auf das Segel, erzeugt das Segel keinen Widerstand mehr. Hier entsteht der Antrieb durch die aerodynamischen Kräfte, die am Segel wirken Die Querkraft Die gesamte Kraft, die am Segel entsteht, ist orthogonal zur Segelfläche. Diese Gesamtkraft kann man mit Hilfe eines Kräfteparallelogramms (siehe Abb. 16) in den Vortrieb, parallel zum Boot, und die Querkraft, senkrecht zum Boot, zerlegen. Der Vortrieb, der durch den Lateralplan 14 verursacht wird, ist je nach Kurs wesentlich geringer als die Gesamtkraft. Die Querkraft, der sich der Lateralplan mit seinem großen Widerstand entgegenstellt, verursacht das Abdriften und Kränken des Bootes Die Abdrift Die Abdrift eines Segelbootes hat zur Folge, dass das Boot nicht den angesteuerten Kurs fährt, sondern seitlich versetzt wird. Um die Abdrift auszugleichen, ist es nötig, gegen zu steuern. Dies wird exemplarisch in Abb. 17 aufgezeigt. 14 Fläche des Unterwasserschiffs 15

19 Vortrieb Gesamtkraft Querkraft Querkraft Vortrieb Gesamtkraft Abbildung 16: Gesamtkraft, Querkraft und Vortrieb gesteuerter Kurs Abdrift gesegelter Kurs Abbildung 17: Gesteuerter Kurs, gesegelter Kurs und Abdrift 4.5 Stabilität eines Segelbootes Unter der Stabilität eines Segelbootes versteht man die Fähigkeit, sich aus eigener Kraft aus einer gekränkten Lage wieder aufzurichten. Die Kränkung wird von der Querkraft an dem Segeldruckpunkt D entsteht und der Wasserdruck, der auf den Lateralplan des Rumpfes wirkt, verursacht. Man unterscheidet bei Segelbooten die Stabilität in Formstabilität und in Gewichtsstabilität. Jollen 15 besitzen ausschließlich Formstabilität, die sich aus der Breite des Rumpfes, also dem Auftrieb, ergibt (siehe Abb. 18). Da diese nur sehr gering ist, ist es notwendig, dass zusätzliche Stabilität durch das Gewicht der Mannschaft erzeugt wird. Aus diesem Grund kann eine Jolle sehr leicht kentern, nämlich genau dann, wenn der Gewichtsschwerpunkt G den Formschwerpunkt F überholt. Kielboote dagegen, beziehen ihre Stabilität im wesentlichen aus der Gewichtsstabilität des tiefsitzenden Kielballastes. Je mehr eine Kielyacht kränkt, um so größer wird die aufrichtende Kraft, da der Gewichtsschwerpunkt G einen grösseren 15 offenes, flachgehendes Boot mit aufholbarem Schwert im Boden 16

20 Winddruck Formstabilität einer Jolle Gewichtsstabilität einer Kielyacht Fquer G Fquer D F G D Fquer F F F G D Kielyacht richtet sich wieder auf D Fquer Fauftrieb Fauftrieb Jolle kentert G Fauftrieb Fschwer Fschwer Fauftrieb Fschwer Fschwer Wasserdruck Abbildung 18: Form- und Gewichtsstabilität eines Segelbootes Abstand zu dem Formschwerpunkt F hat. Das ist der Grund warum eine Kieljacht kentersicher ist und sich immer wieder aufrichten kann. 4.6 Aerodynamik am Segelboot Die Segel eines Segelbootes wirken bei einem Am-Wind Kurs und mit ausreichender aerodynamischer Form 16 wie die Tragflügel eines Flugzeuges, also als Tragflächen. Wie in Kapitel 3.3 beschrieben, entsteht eine Kraft, die senkrecht auf der Tragfläche steht. Diese Kraft kann man mit einem Parallelogramm in zwei Komponenten zerlegen. Die Widerstandskraft F w, die in Richtung des Windes wirkt, und die Auftriebskraft F a, deren Richtung senkrecht zum Wind ist. wahrer Wind β Mittschiffslinie α Sehne des Segels Fauftrieb Fwiderstand Fgesamt Fwiderstand II wahrer Wind Fauftrieb wahrer Wind Abbildung 19: Aerodynamik am Segelboot 16 größte Wölbung kurz vor der Mitte des Segels 17

21 5 Praktische Umsetzung 5.1 Das 3D-Modell Für die Simulation auf einem Computer, ist es nötig, ein 3D-Modell eines Segelbootes zu erstellen. Die berechneten Kräfte, die in der Simulation auf das Segelboot wirken, werden an dem Modell visualisiert Modellierung Abbildung 20: Segelboot, gerendert mit 3ds max Das Vorbild für das Modell ist eine Dreimann Kiel-Yolle mit der Bezeichnung streamline [3]. Das Segelboot wurde mit dem Programm 3ds max von Autodesk17 erstellt. Bei der Modellierung kam es darauf an, das Segelboot so anzupassen, das alle nötigen Bewegungen mit OpenSG einfach durchzuführen sind. So wurde z.b. der Mast, im Gegensatz zu dem original Boot, nur gerade modelliert. Der Grund hierfür ist, dass die Drehbewegung des Segels bei einem nach hinten gebogenem

22 Mast wesentlich komplizierter ist. Bei dem Modell wurde komplett auf das laufende Gut 18 sowie auf viele kleine Details verzichtet Exportierung in OpenSG Das fertige Modell wurde mit 3ds max im *.3ds Format gespeichert, und mit der freeware Version von VRED 19 geöffnet. In VRED, welches auf OpenSG aufsetzt, wurde das Modell optimiert, und als OpenSG-Binary-Datei gespeichert. Dieses Dateiformat lässt sich am schnellsten und am effizientesten in eine OpenSG Applikation laden Der Szenengraph des Bootes Um die Segel, das Ruder und den Verklicker in der OpenSG Anwendung interaktiv drehen zu können, wurden für jede bewegbare Komponente ein Transfomrations- Core angelegt, unter dessen sich die entsprechende Geometrie befindet. Boot group Fock Segel Ruder Verklicker geo Boot transform transform transform transform geometry geo Fock geo Segel geo Ruder geo Verkli cker geometry geometry geometry geometry Abbildung 21: Szenengraph des Segelbootes 5.2 Softwaretechnischer Entwurf Nach einer Phase zum Testen der Simulationen und vor der eigentlichen Implementierung wurde ein softwaretechnischer Entwurf erstellt. Dieser soll die beteiligten Klassen und deren Beziehungen festlegen (siehe Abb. 22). Ziel ist ein objektorientiertes Design mit einer klaren Struktur zu schaffen, die eine relativ einfache Implementierung der Simulation ermöglicht. 18 alle Leinen und Drähte, mit denen etwas bewegt wird 19 Virtual Reality Editor, 19

23 float ftime Simulation void simulate(boat* boat, Wind* wind) float computeforcea(float froh, float fface, float fca, float fvel) float computeca(float fangle) Quaternion integratequat(quaternion qquat, Vec3f vomega) Quaternion multvecquat(vec3f vvec, Quaternion qquat) Quaternion multquatfloat(quaternion qquat, float fvalue) Quaternion addquat(quaternion qquat1, Quaternion qquat2) Quaternion subquat(quaternion qquat1, Quaternion qquat2) void invertquat(bool& InvertAction, Quaternion& qquat) Quaternion diffquat(quaternion qquat1, Quaternion qquat2) float anglequat(quaternion quat)... Translation float ftime float fforceresist float fforcedrift float fforcedrive float fforce float facceleration float fvelocity float fneworientation float foldorientation float fdifforientation float fwindvelocity float frealwindvel... void translate(boat* boat, Wind* wind) float computeforcewind() float computeforcedrift() void computetranslation(float ftime) float computeforceresistwater() float computeforceresistwind() float computeforcedrive()... Rotation Vec3f vtorque Vec3f vangularvelocity Vec3f vangularmomentum Vec3f vforce Matrix morientation Matrix mboattensor Quaternion qneworientation Quaternion qoldorientation Quaternion qdifforientation... void rotate(boat* boat, Translation* trans, Wind* wind) Vec3f computeforcerudder(float fangle) void computerotation(float ftime) Quaternion getorientation() Quaternion getdifforientation()... Roll float ftime float fforcewind Vec3f vtorque Vec3f vangularvelocity Vec3f vangularmomentum Vec3f vforcesail Vec3f vforcekeel Vec3f vkeelpoint Vec3f vsailpoint Vec3f vtaukeel Vec3f vtausail Vec3f vtau Matrix morientation Quaternion qneworientation Quaternion qoldorientation Quaternion qdifforientation... void roll(boat* boat, Wind* wind) Vec3f computeforcesail(float fangle) void computeroll(float ftime) Quaternion getorientation()... Boat float fboatwidth float fboatlength float fboatmass float finversemass float KeelMass float fsailface float frudderface float funderwaterface float fangleboatsail float fangleboatrudder float fangleboatwind Vector3f vrudderpoint Vector3f vsailpressurepoint Vector3f vkeelpoint Matrix mboattensor void setangleboatsail(float fangle) void setangleboatrudder(float fanlge) void setangleboatwind(float fangle)... Wind float fwindvel float fanglewind Vec3f vwindorientation void setwindvel(float fvel) void setanglewind(float fangle) float getwindvel() float getanglewind() Vec3f getwindorientation() float fvalue Controls void setangleboatsail(float fvalue, Boat* boat) void setangleboatrudder(float fvalue, Boat* boat) void setwindvel(float fvalue, Wind* wind) void setanglewind(float fvalue, Wind* wind) Abbildung 22: Softwaretechnischer Entwurf 20

24 5.3 Implementierung Die Applikation wurde mit c++ in der Entwicklungsumgebung XCode unter dem Betriebsystem Mac OSX programmiert Die Klasse Boat Die Klasse Boat ist eine Container-Klasse, die die Attribute eines Bootes speichert. Hierzu gehören alle Attribute, die ein Segelboot beschreiben. Zusätzlich existieren weitere Variablen, die den Zustand des Boots festlegen. Um auf die Attribute zugreifen zu können, stellt die Klasse Boat set- und get-methoden bereit. // Konstruktor Boat( float init_fwidth, float init_flength, float init_fmass, float init_fkeelmass, float init_fsailface, float init_frudderface, float init_funderwaterface, Vec3f init_vrudderpoint, Vec3f init_vsailpressurepoint, Vec3f init_vkeelpoint ); virtual ~Boat(); // Breite // Laenge // Masse // Kielmasse // Segelflaeche // Ruderflaeche // Lateralplan // Ruderdrehpunkt (Vektor) // Segeldruckpunkt (Vektor) // Kielmassepunkt (Vektor) Die Variablen des Konstruktors werden bei der Instanzierung der Klasse Boat mit den realen Werten eines Segelbootes belegt. Aus diesen Werten werden weitere Variablen wie der Trägheitstensor J und die inverse Masse m 1 berechnet. // Setter // Setzt: void setboatorientation(quaternion qorient); // Orientierung void setangleboatsail(float fangle); // Winkel Boot-Segel void setangleboatrudder(float fangle); // Winkel Boot-Ruder void setangleboatwind(float fangle); // Winkel Boot-Wind void setglobalangle(float fangle); // Globalen Winkel Mit Set-Funktionen lassen sich die Werte des Bootes zur Laufzeit der Simulation verändern Die Klasse Wind Die Eigenschaften des Windes werden in der Klasse Wind festgelegt. Der Wind besitzt eine Richtung und eine Stärke, welche durch entsprechende Methoden ausgegeben und verändert werden können. 21

25 // Konstruktor Wind(float init_fwindvel, float init_fanglewind); virtual ~Wind(); // Setter void setwindvel(float fvel); void setanglewind(float fangle); // Setzt Windgeschwindigkeit // Setzt Winkel Die Klasse Simulation Die Klasse Simulation bildet den Kern der Simulation. Aus dieser Klasse sind die Klassen Translation, Rotation und Roll abgeleitet. Diese Basisklasse stellt u.a. einige Methoden für die Berechnung von Quaternionen und für die Berechnung von aerodynamischen Kräften zur Verfügung. Die aus dem Kapitel Physik bekannte Formel der Aerodynamik ist in der Funktion computeforcea umgesetzt. float Simulation::computeForceA( float froh, // Dichte float fface, // Flaeche float fca, // C-Wert float fvel ) // Geschwindigkeit { float fforce = ( 0.5 * froh * fface * fca * (fvel * fvel) ); return fforce; } Der Auftriebsbeiwert C A wird mit der Funktion computeca berechnet. float Simulation::computeCA(float fangle) { float x,fvalue; x = fangle/pi; // 0 = 0 degree, 1 = 180 degree if(x>0 && x<=1) { fvalue = 15 * x * ( (1-x) * (1-x) * (1-x) ); } else { fvalue = 0; } return fvalue; } Die Funktion liefert den approximierten C A Wert eines Segels mit typischer Wölbung. Der Wert ist Abhängigkeit von dem Anströmwinkel auf die Segelflä- 22

26 che. Der Anströmwinkel kann o betragen, welcher für die Funktion auf 0-1 skaliert wird. 1,5 1 Ca Wert 0,5 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 Winkel Wind Abbildung 23: Funktion C A Wert Um ein Quaternion, wie in dem Kapitel Eulerintegration der Rotation beschrieben, zu integrieren wird die Funktion integratequat benötigt. Parameter sind das alte Quaternion und ein dreidimensionaler Vektor, der als pures Quaternion interpretiert wird. Quaternion Simulation::integrateQuat( Quaternion qquat, Vec3f vomega ) { Quaternion qtmp, qresult; qtmp = multvecquat(vomega, qquat); qresult = addquat(qquat, multquatfloat(qtmp,(ftime*0.5f))); } return qresult; Die Klasse Simulation enthält weitere Funktionen für mathematische Rechenoperationen mit Quaternionen. // Multiplikation Vektor-Quaternion Quaternion multvecquat(vec3f vvec, Quaternion qquat); // Multiplikation Quaternion-Skalar Quaternion multquatfloat(quaternion qquat, float fvalue); // Addition Quaternion-Quaternion 23

27 Quaternion addquat(quaternion qquat1, Quaternion qquat2); // Subtraktion Quaternion-Quaternion Quaternion subquat(quaternion qquat1, Quaternion qquat2); Die Klasse Translation Eine Spezialisierung der Klasse Simulation ist die Klasse Translation. In dieser Klasse sind Methoden für die Euler-Integration der Translation implementiert. Die für die Integration benötigten Attribute des Bootes und des Windes werden aus der Klasse Boat und Wind referenziert. Zusätzlich besitzt diese Klasse eigene Attribute wie z.b. die Orientierung, die Geschwindigkeit und verschiedene Kräfte. // Referenziert alle benoetigten Werte von Boot & Wind void translate(boat* boat, Wind* wind); // Berechnet die Windkraft an den Segeln float computeforcewind(); // Berechnet die Querkraft des Bootes void computeforcedrift(); // Berechnet die Vortiebskraft des Bootes void computeforcedrive(); Der Vortrieb wird durch die Integration des Wegs und der Geschwindigkeit in der Funktion computetranslation berechnet. void Translation::computeTranslation(float ftime) { foldorientation = fneworientation; computeforcedrive(); // Widerstand des Wassers float fforceresistwater = computeforcea(...); facceleration = ( getforcedrive() - fforceresistwater - computeforcea(...) ) * finversemass; // integration Weg fneworientation = foldorientation + (fvelocity * ftime); 24

28 // integration Geschwindigkeit fvelocity = fvelocity + (facceleration * ftime); } fdifforientation = fneworientation - foldorientation; Analog wird in der Funktion computedrift die Abdrift berechnet. void Translation::computeDrift(float ftime) { folddrift = fnewdrift; computeforcedrift(); float fforceresist = (...); fdriftacceleration = (fforcedrift - fforceresist) * finversemass; fnewdrift = folddrift + (fdriftvelocity * ftime); fdriftvelocity = fdriftvelocity + (fdriftacceleration * ftime); } fdiffdrift = fnewdrift - folddrift; Die Klasse Rotation In der Klasse Rotation sind die Methoden für die Euler-Integration der Rotation implementiert. Auf der Basis von referenzierten Attributen aus den Klassen Boat, Wind und Translation werden mithilfe eigener Attribute wie z.b. der Drehkraft oder dem Drehmoment die resultierenden Kräfte berechnet, welche für die Drehung des Bootes benötigt werden. Durch die Drehung des Bootes werden Attribute der Klasse Boat verändert. // Referenziert alle benoetigten Werte void rotate(boat* boat, Translation* trans, Wind* wind); // Berechnet Kraft am Ruder Vec3f computeforcerudder(float fangle); Die Funktion computerotation berechnet mithilfe der Euler-Integration die Drehung des Bootes. void Rotation::computeRotation(float ftime) { 25

29 qoldorientation = qneworientation; vforce = computeforcerudder(fangleboatrudder); // Matrix zu Quaternion qoldorientation.getvalue(morientation); Matrix morientationtrans = morientation; morientationtrans.transpose(); // transp. Matrix // w = R * J * R_trans * L // Matrixmultiplikation morientationtrans.mult(vangularmomentum, result); mboattensor.mult(result); morientation.mult(result); vangularvelocity = result; vtorque = vrudderpoint.cross(vforce); // Drehmoment = r x F // Integration Quaternion qneworientation = integratequat( qoldorientation, vangularvelocity ); qneworientation.normalize(); // Normalisierung } // neues Drehmoment vangularmomentum = vangularmomentum + (ftime * vtorque); Die Klasse Roll Die Klasse Roll enthält wie die Klasse Rotation Methoden für die Euler-Integration der Rotation. Im Gegensatz zu dieser Klasse wird hier nicht die Drehung des Bootes berechnet, sondern die durch die resultierenden Kräfte entstehende Neigung. Um diese Kräfte berechnen zu können, werden Attribute aus den Klassen Boat und Wind referenziert. // Referenziert alle benoetigten Werte void roll(boat* boat, Translation* trans); // Berechnet Kraenkung void computeroll(float ftime); Die Klasse Controls Die Schnittstelle mit Anwender der Applikation bildet die Klasse Controls. In dieser Klasse befinden sich Methoden, die es dem Benutzer erlauben, aus den Klassen 26

30 Boat und Wind referenzierte Attribute wie z.b. den Ruderwinkel, die Windstärke oder die Windrichtung zu verändern. // Setzt Winkel Boot-Segel void setangleboatsail(float fvalue, Boat* boat); // Setzt Winkel Boot-Ruder void setangleboatrudder(float fvalue, Boat* boat); // Setzt Windgeschwindigkeit void setwindvel(float fvalue, Wind* wind); // Setzt Winkel Wind void setanglewind(float fvalue, Wind* wind); // Setzt Pause void setpause(); 5.4 Die Applikation SailSim In dem Hauptprogramm der Applikation werden die Instanzen der Klassen der Simulation erzeugt und der Szenengraph, sowie das GLUT Fenster initialisiert Der Szenengraph Der Szenengraph enthält die Geometrie, Kamera und das Licht der Szene. 27

31 Root group Node Light Beac on Light DirecLight transform Trans formti on transform Roll Helpe r transform transform Boat Geom etry Beac onca mera Water Geo Helpe rgeo geometry transform geometry geometry Came radis play Cg Node geometry MaterialGroup Abbildung 24: Der Szenengraph 28

32 Der Root Knoten ist die Wurzel des Graphen. Er besitzt zwei Kinder, den Node- Light und den BeaconLight. Der BeaconLight Knoten setzt die Position des Lichtes, der NodeLight Knoten enthält das Licht selbst und ein Kind, den Transform Knoten. Dieser besitzt einen Transform Core, welcher die in der Simulation ermittelten Daten für die Translation und Rotation auf den Unterbaum anwendet. Die Kinder dieses Knoten sind der Roll Node und der Helper Node. Der Roll Knoten enthält einen Transformations Kern, welcher die Daten für die Neigung des Bootes besitzt. Das Kind dieses Knoten enthält die komplette Geometrie des Segelbootes. Der Helper Knoten besteht aus einem Transfomation Core, der eine Gegendrehung ausführt. Alle Kinder dieses Knoten werden mit transliert, aber nicht rotiert. Somit bleibt die Ausrichtung immer gleich. Die Kinder sind der BeaconCamera-, der WaterGeo- und der HelperGeo Node. Die Geometrie des HelperGeo Knoten dient der Orientierung und besteht aus einem einfachen Kompass und zwei Pfeilen, die die Windrichtung anzeigen. Der WaterGeo Core enthält die Geometrie des Wassers und dessen Cg 20 -Material. Der BeaconCamera Knoten besitzt den Transformations Kern für die Kamera. Das Kind dieses Knoten ist die Geometrie, die die Daten zum Steuern des Segelbootes einblendet Die Display Methode Die Display Methode ist die Schnittstelle zwischen der Physiksimulation und dem Renderingsystem. Diese ruft in jedem Berechnungsschritt des Renderingsystems die Funktionen der Simulation auf, die die aktuellen Werte für das Segelboot berechnen. Den Funktionen werden Objekte der Klassen und die Variable interval, die dem Zeitschritt t entspricht, übergeben. void display() {... trans->translate(streamline, wind); trans->computetranslation(interval); trans->computedrift(interval);... rot->rotate(streamline, trans, wind); rot->computerotation(interval); roll->roll(streamline, trans); roll->computeroll(interval); Für jedes Frame werden die neuen Werte aus der Simulation auf die Transformations- Matrizen angewendet. Die Matrizen werden den Kernen der Knoten zugewiesen. Somit ergibt sich für das Boot eine stetige Bewegung. 20 C for graphics - Programmiersprache für Grafikprozessoren 29

33 ... begineditcp(coretransformation, Transform::MatrixFieldMask); tmp_matrix.setrotate(...); // setzt Rotation trans_matrix.mult(tmp_matrix); // multipliziert Matrix tmp_matrix.settransform(...); // setzt Translation trans_matrix.mult(tmp_matrix); // multipliziert Matrix // Kern erhaelt Matrix CoreTransformation->setMatrix(trans_matrix);... endeditcp(coretransformation, Transform::MatrixFieldMask); Nachdem alle benötigten Matrizen aktualisiert wurden, wird das Fenster gerendert.... } window->render(renderaction); 30

34 6 Ergebnisse Folgende Bilder aus der Applikation SailSim illustrieren die Ergebnisse der Studienarbeit. Abbildung 25: Streamline auf Halbwind-Kurs 31

35 Abbildung 26: Streamline auf Raumschots-Kurs Abbildung 27: Streamline auf Am-Wind-Kurs 32

36 Scheinbarer Wind Wahrer Wind Geschwindigkeitsanzeige Ruder Stellung Segelstellung Skala Abbildung 28: Anzeige für die Steuerung Abbildung 29: Streamline auf Am-Wind-Kurs 33

37 7 Fazit und Ausblick 7.1 Fazit Mit der Entwicklung der Applikation SailSim wurden die festgelegten Ziele der Studienarbeit erreicht. Die Anwendung ermöglicht die Steuerung eines virtuellen Segelbootes in Echtzeit, basierend auf einer Physiksimulation. Neben der Einarbeitung in das Szenengraph System OpenSG und das Erlernen der Funktionsweise einer physikalischen Simulation, wurden die c++ Kenntnisse deutlich verbessert. Um die Applikation visuell ästhetisch zu gestalten, wurde zusätzlich die Shadersprache Cg erlernt, welche für die Darstellung der Wasserfläche verantwortlich ist. Der Benutzer kann durch das Steuern des Segelbootes das Verhalten und die Prinzipien des Segelns studieren. Dabei wurden für die Simulation allerdings nur die wichtigsten Phänomene des Segelns berücksichtigt. Grund hierfür ist die enorme Komplexität der in der Realität angreifenden KrŠfte und deren Auswirkungen. Eine Versuch solche Phänomene physikalisch korrekt zu simulieren würde an der Echtzeitfähigkeit der Applikation scheitern. 7.2 Ausblick Die Applikation SailSim kann vielseitig erweitert werden. Denkbar wäre, dass das Segelboot von dem Wasser beeinflusst wird. So sollte das Boot auf die Wellenbewegung reagieren und auch eigene Wellen verursachen. Der Shader des Wassers selbst kann optisch verbessert werden um einen höheren Grad an Realismus zu erreichen. Interessant und vor allem für die Segler wichtig, wäre das Hinzufügen einer Segelmannschaft, die durch Gewichtsverlagerung den sog. Gewichtstrimm des Bootes erheblich beeinflussen kann. Das Darstellen der Crew auf einem Segelboot, die von dem Benutzer Anweisungen erhält, ist eine technische Herausforderung. Um die Kontrolle über das Segelboot zu verbessern, sollte es möglich sein, anstatt mit der Tastatur z.b. mit einem Joypad oder ähnlichem Eingabegerät, das Boot zu steuern. 34

38 Literatur [1] David M. Bourg. Physics for Game Developers. O Reilley and Associates, Inc., [2] Roland Denk. Das große Handbuch des Segelns. BLV Verlagsgesellschaft mbh, München, [3] Nautik GmbH. Klassenbestimmungen streamline, [4] J. Krause J. Grehn. Metzler Physik. Schroedel Verlag Gmbh, Hannover, [5] Wolhart Klasing. Führerschein A für Segler. Delius, Klasing und Co, Bielefeld, [6] Prof. Dr. Stefan Müller. Vorlesungsskripte zu Animation und Simulation, [7] OpenSG. OpenSG tutorial. [8] Heinz Overschmidt. Sportbootführerschein Binnen - Segel, Motor. Delius, Klasing und Co, Bielefeld, [9] Peter Shirley. Fundamentals of Computer Graphics. A K Peters, Ltd.,

39 Abbildungsverzeichnis 1 Beispiel eines einfachen Szenengraphen Die Transformationsmatrix (Abb. aus [6]) Grafische Darstellung eines Quaternions (Abb. aus [7]) Weg-Zeit-Diagram Beschleunigte Bewegung Rotationsgeschwindigkeit Vergleich von Translationsbewegung und Rotationsbewegung Euler Integration (Abb. aus [6]) Schematischer Ablauf der Euler Integration für die Translation Schematischer Ablauf der Euler Integration für die Rotation Widerstandsbeiwerte von Grundkörpern Aerodynamische Kräfte an einer Tragfläche Schematische Darstellung einer Kiel-Jolle Der Sektor zum Wind eines Segelbootes Der scheinbare Wind Antrieb durch Auftrieb und durch Widerstand Gesamtkraft, Querkraft und Vortrieb Gesteuerter Kurs, gesegelter Kurs und Abdrift Form- und Gewichtsstabilität eines Segelbootes Aerodynamik am Segelboot Segelboot, gerendert mit 3ds max Szenengraph des Segelbootes Softwaretechnischer Entwurf Funktion C A Wert Der Szenengraph Streamline auf Halbwind-Kurs Streamline auf Raumschots-Kurs Streamline auf Am-Wind-Kurs Anzeige für die Steuerung Streamline auf Am-Wind-Kurs

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

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

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Kreatives Gestalten mit Flash 5.0

Kreatives Gestalten mit Flash 5.0 Kreatives Gestalten mit Flash 5.0 Animationen, Effekte und Anwendungen für das WWW Bearbeitet von Isolde Kommer 1. Auflage 2000. Buch. 444 S. Hardcover ISBN 978 3 446 21463 7 Format (B x L): 20,1 x 23,6

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Übungen zur Animation & Simulation. Übungsblatt 1

Übungen zur Animation & Simulation. Übungsblatt 1 Übungen zur Animation & Simulation SS 21 Prof. Dr. Stefan Müller et al. Übungsblatt 1 Aufgabe 1 (Die Newton schen Gesetze) Nennen und erklären Sie die Newton schen Gesetze. Aufgabe 2 (Kräfte und numerische

Mehr

Gitterherstellung und Polarisation

Gitterherstellung und Polarisation Versuch 1: Gitterherstellung und Polarisation Bei diesem Versuch wollen wir untersuchen wie man durch Überlagerung von zwei ebenen Wellen Gttterstrukturen erzeugen kann. Im zweiten Teil wird die Sichtbarkeit

Mehr

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,

Mehr

3. Drucken und Exporte

3. Drucken und Exporte 3. Drucken und Exporte 1. Drucken Um drucken zu können ist es nötig zuerst ein Objekt/Projekt zu erstellen. Nun wählt man den punkt Datei Druckereinrichtung aus. (siehe Abbildung 1). siehe hier Abbildung

Mehr

Warum kann ein Flugzeug fliegen?

Warum kann ein Flugzeug fliegen? 4. Dezember 2003 Warum kann ein Flugzeug fliegen? Wer oder was kann fliegen? Warum können Hexen und Harry Potter fliegen? Joanne K. Rowling / Carlsen Verlag GmbH Weil sie zaubern können! Wer oder was kann

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS Abb. 1: Programmfenster Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter Programmfenster anzeigen Einstellungen öffnen Kara direkt

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

www.mathe-aufgaben.com

www.mathe-aufgaben.com Abiturprüfung Mathematik Baden-Württemberg (ohne CAS) Pflichtteil Aufgaben Aufgabe : ( VP) Bilden Sie die erste Ableitung der Funktion f mit sin() f() =. Aufgabe : ( VP) Berechnen Sie das Integral ( )

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

(1) Problemstellung. (2) Kalman Filter

(1) Problemstellung. (2) Kalman Filter Inhaltsverzeichnis (1) Problemstellung...2 (2) Kalman Filter...2 Funktionsweise... 2 Gleichungen im mehrdimensionalen Fall...3 Schätzung des Systemzustands...3 Vermuteter Schätzfehler... 3 Aktualisierung

Mehr

Vektoren mit GeoGebra

Vektoren mit GeoGebra Vektoren mit GeoGebra Eine Kurzanleitung mit Beispielen Markus Hohenwarter, 2005 In GeoGebra kann mit Vektoren und Punkten konstruiert und gerechnet werden. Diese Kurzanleitung gibt einen Überblick über

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

DESIGN GUIDE 3D-DRUCK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! und Ihre Ideen werden be/greifbar. !!! DESIGN GUIDE für 3D-DRUCK !!!!!!! Version 02 am 16.03.

DESIGN GUIDE 3D-DRUCK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! und Ihre Ideen werden be/greifbar. !!! DESIGN GUIDE für 3D-DRUCK !!!!!!! Version 02 am 16.03. und Ihre Ideen werden be/greifbar DESIGN GUIDE für 3D-DRUCK Vorwort Ideen und Visionen lassen sich mittels 3D-Druck einfach, kostengünstig und schnell visualisieren. Es ist einfacher eine Idee mittels

Mehr

Festigkeit von FDM-3D-Druckteilen

Festigkeit von FDM-3D-Druckteilen Festigkeit von FDM-3D-Druckteilen Häufig werden bei 3D-Druck-Filamenten die Kunststoff-Festigkeit und physikalischen Eigenschaften diskutiert ohne die Einflüsse der Geometrie und der Verschweißung der

Mehr

Arbeitsblatt Arbeit und Energie

Arbeitsblatt Arbeit und Energie Arbeitsblatt Arbeit und Energie Arbeit: Wird unter der Wirkung einer Kraft ein Körper verschoben, so leistet die Kraft die Arbeit verrichtete Arbeit Kraft Komponente der Kraft in Wegrichtung; tangentiale

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Physik. Grundlagen der Mechanik. Physik. Graz, 2012. Sonja Draxler

Physik. Grundlagen der Mechanik. Physik. Graz, 2012. Sonja Draxler Mechanik: befasst sich mit der Bewegung von Körpern und der Einwirkung von Kräften. Wir unterscheiden: Kinematik: beschreibt die Bewegung von Körpern, Dynamik: befasst sich mit Kräften und deren Wirkung

Mehr

Text-Zahlen-Formatieren

Text-Zahlen-Formatieren Text-Zahlen-Formatieren Beobachtung: Bei der Formatierung einer Zahl in eine Textzahl und umgekehrt zeigt Excel ein merkwürdiges Verhalten, welches nachfolgend skizziert werden soll: Wir öffnen eine neue

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung White Paper s.beat DAP-10X USB Stromversorgung am Apple Macintosh und deren Auswirkung Date: 19 May 2006 Version: 1.0 Sprache: Deutsch Disposition: öffentlich Dokument: sbeat_dap-10x_mac_information_2006-25-04_de.doc

Mehr

Projekt 2HEA 2005/06 Formelzettel Elektrotechnik

Projekt 2HEA 2005/06 Formelzettel Elektrotechnik Projekt 2HEA 2005/06 Formelzettel Elektrotechnik Teilübung: Kondensator im Wechselspannunskreis Gruppenteilnehmer: Jakic, Topka Abgabedatum: 24.02.2006 Jakic, Topka Inhaltsverzeichnis 2HEA INHALTSVERZEICHNIS

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Robotik-Praktikum: Ballwurf mit dem Roboterarm Lynx6 Modellbeschreibung. Julia Ziegler, Jan Krieger

Robotik-Praktikum: Ballwurf mit dem Roboterarm Lynx6 Modellbeschreibung. Julia Ziegler, Jan Krieger Robotik-Praktikum: Ballwurf mit dem Roboterarm Lynx6 Modellbeschreibung Julia Ziegler, Jan Krieger Modell zur Optimierung Doppelpendel-Modell Zur Optimierung einer Wurfbewegung wurde ein physikalisches

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Lineare Differentialgleichungen erster Ordnung erkennen

Lineare Differentialgleichungen erster Ordnung erkennen Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

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

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2) DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2) Aufgabe 3 Bankkonto Schreiben Sie eine Klasse, die ein Bankkonto realisiert. Attribute für das Bankkonto sind der Name und Vorname des Kontoinhabers,

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

Mehr

Kurzeinführung LABTALK

Kurzeinführung LABTALK Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,

Mehr

Kevin Caldwell. 18.April 2012

Kevin Caldwell. 18.April 2012 im Rahmen des Proseminars Numerische Lineare Algebra von Prof.Dr.Sven Beuchler 18.April 2012 Gliederung 1 2 3 Mathematische Beschreibung von naturwissenschaftlich-technischen Problemstellungen führt häufig

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Zunächst ist dieser Service nur für Mac OS verfügbar. Drucken unter Windows wird Ihnen im Laufe des Semesters zur Verfügung stehen.

Zunächst ist dieser Service nur für Mac OS verfügbar. Drucken unter Windows wird Ihnen im Laufe des Semesters zur Verfügung stehen. Tutorial Druck Ab dem 21. September 2009 kommt im eine neue Software zum Einsatz, die Ihnen ein Drucken von den Arbeitsplätzen im, über Ihren Account, ermöglicht. Die Abrechnung der Druckkosten erfolgt

Mehr

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Stefan Böttner (SB4) März 2013 Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Verwendbar ab EEP7.5(mitPlugin5) + EEP8 + EEP9 Abmessung: (B 12m x H 12m) Die Einsatzhöhe

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: david vajda 3. Februar 2016 Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: Elektrische Stromstärke I Elektrische Spannung U Elektrischer Widerstand R Ladung Q Probeladung q Zeit t Arbeit

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Hafenmanöver. Die 4 Grundregeln für Hafenmanöver. 1. Wenig Fahrt: 2. Kurze Schübe:

Hafenmanöver. Die 4 Grundregeln für Hafenmanöver. 1. Wenig Fahrt: 2. Kurze Schübe: Hafenmanöver In Häfen kann der versierte Katamaran-Skipper mit seiner Zwei-Motoren-Anlage sein Boot in die kleinste Ecke manövrieren. Geschwindigkeit spielt keine Rolle. Ein Hochseekat wird im Hafen mit

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Der Einsatz von HDRIs in LightWave 7

Der Einsatz von HDRIs in LightWave 7 Seite 1 DOSCH DESIGN TUTORIAL Der Einsatz von HDRIs in LightWave 7 Eine Schritt-für-Schritt-Anleitung LightWave kann ab der Version 6.5 HDRIs (High Dynamic Range Images) als Beleuchtung und Hintergrund

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Approximation durch Taylorpolynome

Approximation durch Taylorpolynome TU Berlin Fakultät II - Mathematik und Naturwissenschaften Sekretariat MA 4-1 Straße des 17. Juni 10623 Berlin Hochschultag Approximation durch Taylorpolynome Im Rahmen der Schülerinnen- und Schüler-Uni

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Adobe Flash CS4»3D-Tool«

Adobe Flash CS4»3D-Tool« Flash Tutorial Philipp Nunnemann Adobe Flash CS4»3D-Tool«Im folgenden Tutorial könnt Ihr das»3d-tool«in Adobe Flash CS4 kennenlernen. Das Tool erlaubt euch, Objekte im dreidimensionalen Raum zu bewegen.

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr