Computergrafik/Visualisierung II
|
|
- Hennie Neumann
- vor 7 Jahren
- Abrufe
Transkript
1 Vorlesung Computergrafik/Visualisierung II Hochschule für Technik und Wirtschaft Dresden University of Applied Sciences Prof. Dr. Marco Block-Berlitz Sommersemester 2014 Studiengang Medieninformatik
2 Vorlesungsteil Physikalische Spielereien III Game Loop Wer die Geometrie begreift, vermag in dieser Welt alles zu verstehen. Galileo Galilei Vorlesung Computergrafik II Prof. Dr. Marco Block-Berlitz
3 1972: Pong Das erste weltweit populäre Computerspiel Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 3
4 1992: Ultima Underworld Erstes Computerspiel mit texturierter 3D-Grafik in Echtzeit Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 4
5 1992: Wolfenstein 3D Erster Ego-Shooter Raycasting Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 5
6 Raycasting für Semi-3D-Szenen Raycasting war die erste Rendering-Technik, mit der Semi-3D-Szenen in Echtzeit dargestellt werden konnten. Das Verfahren ist schnell, da nur eine Berechnung pro Bildschirm-Vertikale vorgenommen werden muss. Treppen laufen, Hüpfen oder unterschiedliche Raumhöhen sind mit dieser einfachen Game-Engine nicht möglich. Der berühmteste Spiele-Vertreter ist Wolfenstein 3D. Gegeben ist dafür eine Karte (2D-Grid) mit positiven, ganzzahligen Einträgen, die jeweils für einen Wandtyp stehen. Einträge mit 0 repräsentieren entsprechend keine Wand. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 6
7 Aufbau einer Gameengine Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 7
8 Game-Loop versus Game-Loop Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 8
9 Wie schaut es eigentlich mit den Anwendereingaben aus? Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 9
10 Eingaben einlesen Als sehr ungünstig stellt sich sicherlich folgendes Konzept heraus: while (true) { char* command = readcommand(); handlecommand(command); } Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 10
11 Eingaben als Events Um die CPU nicht unnötig zu belasten, lässt sich ein Eventhandling einbauen: while (true) { Event* event = waitforevent(); dispatchevent(event); } Das können wir dann geschickt in eine Funktion auslagern und überprüfen, ob seit dem letzten Mal eine Eingabe stattgefunden hat: while (true) { processinput(); update(); render(); } Hier haben wir weiterhin die Problematik mit der Hardwareabhängigkeit. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 11
12 Wie bekommen wir jetzt die Unabhängigkeit von update und render in den Griff? Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 12
13 Idee 1: Wir erzwingen 60 fps. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 13
14 Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 14
15 60 fps erzwingen Wir könnten einfach den Prozess so lange in eine Ruhephase versetzen, bis es wieder günstig ist, update() und render() aufzurufen: while (true) { double start = getcurrenttime(); processinput(); update(); render(); } sleep(start + MS_PER_FRAME - getcurrenttime()); In diesem Fall entspricht: 1000 ms / FPS = ms per frame. Dieses Konzept funktioniert, wenn das Programm viel zu schnell ist. Aber falls es zu langsam sein sollte, haben wir hier ein Problem. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 15
16 Welchen Wert hat MS_PER_FRAME bei 60 fps? Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 16
17 Idee 2: Wir übermitteln update, wieviel Zeit seit dem letzten Mal vergangen ist. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 17
18 Update abhängig von t machen Eine möglicherweise bessere Strategie ist es, die vergangene Zeit zu betrachten und an update zu übergeben: double lasttime = getcurrenttime(); while (true) { double current = getcurrenttime(); double elapsed = current - lasttime; processinput(); update(elapsed); render(); } lasttime = current; Das kann sich allerdings aufgrund der Rundungsfehler bei Fließkomma-Zahlen als sehr problematisch herausstellen. Beispiel: Wenn zwei Spieler mit sehr unterschiedlicher Hardware in einem Netzwerk spielen, kann der häufigere Aufruf von update() zu einem unterschiedlichen Spielverlauf führen. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 18
19 Idee 3: update benötigt einen festen Zeitschritt. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 19
20 Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 20
21 Update fest machen Die weitere Idee führt uns zu folgendem Code: double previous = getcurrenttime(); double lag = 0.0; while (true) { double current = getcurrenttime(); double elapsed = current - previous; previous = current; lag += elapsed; processinput(); while (lag >= MS_PER_UPDATE) { update(); lag -= MS_PER_UPDATE; } } render(); Die Physik sollte hier im besten Fall schneller als 60 fps laufen. Aber Achtung: Physik sollte dabei noch durch update auf der langsamsten Hardware zu schaffen sein. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 21
22 Im Prinzip arbeitet das System jetzt so: Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 22
23 Was ist problematisch daran? Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 23
24 up() re() up() Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 24
25 Wir müssen render() abhängig von t machen Das können wir mit einer variablen render-funktion z. B. so ausdrücken: render(lag / MS_PER_UPDATE); Das macht die Sache etwas komplexer, aber wir können zwischen den Frames dann einfacher interpolieren. Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 25
26 Zusammenfassung Fixed time step with no synchronization einfach, abhängig von Hardware 1) Fixed time step with synchronization einfach, nur gut zum Verlangsamen 2) Variable time step gut zum Verlangsamen und Beschleunigen, undeterministisch! 3) Fixed update time step, variable rendering gut zum Verlangsamen und Beschleunigen, komplex Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 26
27 Unity Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 27
28 Ausblick Euler-Integrationsmethode Runge-Kutta Physik in Games (Java) Prof. Dr. Marco Block-Berlitz Vorlesung Computergrafik II SoSe 2014 Folie 28
3D-Programmierung. Vorlesung. Hochschule für Technik und Wirtschaft Dresden University of Applied Sciences
Vorlesung 3D-Programmierung Hochschule für Technik und Wirtschaft Dresden University of Applied Sciences Prof. Dr. Marco Block-Berlitz Sommersemester 2014 Diplomstudiengang Medieninformatik Masterstudiengang
Mehr3D-Programmierung. Vorlesung. Hochschule für Technik und Wirtschaft Dresden University of Applied Sciences
Vorlesung 3D-Programmierung Hochschule für Technik und Wirtschaft Dresden University of Applied Sciences Prof. Dr. Marco Block-Berlitz Sommersemester 2013 Diplomstudiengang Medieninformatik Masterstudiengang
MehrEchtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM
Echtzeitfähige hige Verfahren in der Computergrafik Prof. Dr. Rüdiger R Westermann Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM Lehr- und Forschungsinhalte Visualisierung Darstellung
MehrGrundlegende Algorithmen
3D Spieleprogrammierung Grundlegende Algorithmen Übersicht Game Loop Spielarchitektur Aufäumen von Strukturen Vorbereiten für spätere Aufgaben Bewegungen Zeitmessung Zeitunabhängigkeit GameLoop Game Engine
MehrFundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY. Vorlesung 3: Methoden, Scope
Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY Vorlesung 3: Methoden, Scope Menü Erinnerung: Variablen, Objekte Methode Idee Klasse Kode-Sichtbarkeit Idee: Test,
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrInteraktives Wasser in 3D. Jörn Loviscach Hochschule Bremen
Interaktives Wasser in 3D Jörn Loviscach Hochschule Bremen Ringwellen (Kapillar- und Schwerewellen) Kelvin-Schiffswellen Reflexionen von Himmel (Frensel-Effekt) und Sonne Kaustiken mit korrekten Schatten
MehrFür die Arbeit mit Pygame werden wird die Umgebung PortablePython Version 2.7.x verwenden.
Pygame Basics 1 Vorbereitung Für die Arbeit mit Pygame werden wird die Umgebung PortablePython Version 2.7.x verwenden. 1.1 Download der PortablePython-Umgebung Die Installationsdatei kann hier heruntergeladen
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Variablen Übersicht 1 Variablendeklaration 2 Initialisierung von Variablen 3 Symbolische Konstanten Variablendeklaration Die Deklaration der Variablen erfolgt durch eine Typangabe
MehrAufgabenblatt 1. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt:
Aufgabenblatt 1 Kompetenzstufe 2 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 10.11.2017 13:00 Uhr in TUWEL hoch.
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 16. Java: Threads für Animationen 1 Motivation
Mehr3D Programmierpraktikum: Schattenberechnung in Echtzeit
3D Programmierpraktikum: Schattenberechnung in Echtzeit Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 20. Juli 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum
MehrEinführung in Truevision3D
Einführung in Truevision3D Einleitung: In diesem Artikel werden wir uns mit der Truevision Engine beschäftigen, ihr werdet lernen wie man in C# auf die Engine zugreift und wie man einfache 2D Ausgaben
MehrGame Engine Architecture and Development. Effekte (Sound, Partikel, Physik)
Game Engine Architecture and Development Effekte (Sound, Partikel, Physik) Wer hat schon was? Sound s Soundsysteme Einfach zu benutzen Leveldesigner müssen sehr einfach Sounds hinzufügen können (Gamplay
MehrSchnelle modulare Synthese auf Mehrkern-Architekturen. GPN7 So, Jürgen Reuter
Schnelle modulare Synthese auf Mehrkern-Architekturen GPN7 So, 06.07.2008 Jürgen Reuter Ausgangspunkt: SoundPaint Integriere Entwurf von Klängen & Komposition Ziel: Ausdrucksvollere elektronische Musik
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrEin- und Ausgabe (I/O)
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten
MehrC++ 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
MehrOtto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme Dr.
Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme Dr. Eike Schallehn Klausur Grundlagen der Informatik Magdeburg, 17.07.2012 Matrikelnummer:
MehrEinführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch
Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative
MehrBilder. 2D Spiele programmieren in Java. Alpha channel. Formate. Optimierung. Empfehlung
2D Spiele programmieren in Java Teil 3: Bilder, Animationen Dr. Katja Wegner Dr. Ursula Rost Bilder Sind vielfach in Spielen einsetzbar (Menüs, Hintergrund, Objekte) Eigenschaften: Typ (e.g. bitmap, vector)
MehrFakultät für Informatik, Institut für Robotik Laborpraktikum I - Medizinarena Legorobotik in C EV3
Fakultät für Informatik, Institut für Robotik Laborpraktikum I - Medizinarena Legorobotik in C EV3 Ute Ihme Hochschule Mannheim Ute Ihme DAS LEGO MINDSTORMS System Das EV3 System Prinzip von LEGO MINDSTORMS
Mehr- - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2 off 3 3.0 4 2.0 5 off 6 1 8 20.0 9 60 C 7 4.0 10 80 C 1 38 C 12 8 k 13 on 14 30.0 15 10 16 - - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2
MehrArchitektur von Game-Engines
> Architektur von Game-Engines Seminar Arbeitsgruppe Visualisierung und Computergrafik 2 > Aufbau und Komponenten einer Engine 3 > Aufbau und Komponenten einer Game-Engine 4 > Aufbau und Komponenten einer
MehrArrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss
Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei
MehrGame Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling
Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrWelche 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
MehrVariablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
MehrAnwendungsentwicklung mit dem Windows Phone 7
Anwendungsentwicklung mit dem Windows Phone 7 Anwendungen auf Basis von XNA IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for
MehrNachklausur Bitte in Druckschrift leserlich ausfüllen!
Übungen zur Vorlesung Informatik für Informationsmanager WS 2005/2006 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Bernhard Beckert Dr. Manfred Jackel Nachklausur 24.04.2006 Bitte in Druckschrift
MehrSeminar Ausgewählte Themen der medizinischen Visualisierung
1 Ausgewählte Themen der medizinischen Visualisierung Institut für Informatik 08.07.2011 Arbeitsgruppe Visualisierung und Computergrafik (VisCG) Organisatorisches Veranstalter: Prof. Dr. Klaus Hinrichs,
MehrVerteilte Systeme - Java Networking (Sockets) 2 -
Verteilte Systeme - Java Networking (Sockets) 2 - Prof. Dr. Michael Cebulla 06. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 30 Michael Cebulla Verteilte Systeme Gliederung Wiederholung:
MehrInformatik B von Adrian Neumann
Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000
MehrKlausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden. Name:
Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 17.07.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:
MehrModellbasierte Software- Entwicklung eingebetteter Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS Folie
MehrComputergraphik 1 LU ( ) Ausarbeitung Abgabe 2
Computergraphik 1 LU (186.095) Ausarbeitung Abgabe 2 Beispiel 4... 2 CG1Object... 2 if (dobackfaceeculling && numvertexindec >=3)... 2 CG1ScanfilledPolygon CG1Polygon... 2... 2... 3 buildactivelist (int
MehrImmersive Interaktion in der Spieleindustrie
Immersive Interaktion in der Spieleindustrie Prof. Dr. Paul Grimm Computer Graphics Applied Computer Science Erfurt University of Applied Sciences Eröffnung des Interaktionsloabors Fraunhofer IAO Über
MehrStrings. Daten aus Dateien einlesen und in Dateien speichern.
Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend
MehrEinstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
MehrÜbung Grundlagen der Programmierung WS 2008/09. Übung 04: Methoden. Abgabetermin: Prosabeschreibung Java-Programm.
Übung 04: Methoden Abgabetermin: 11. 11. 2008 Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 4.1 12
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
MehrPräzedenz von Operatoren
Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit
Mehr6. Iteration (Schleifenanweisungen)
Schwerpunkte While-: "abweisende" Schleife 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java Do-while-: "nichtabweisende" Schleife For-: zählergesteuerte Schleife Klassifikation
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen
Mehr6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
MehrPhysX Evaluation. Softwarepraktikum Computergraphik. Daniel Brock, Robert Kreuzer, Simon Kufner. 5. Juli 2010
PhysX Evaluation Softwarepraktikum Computergraphik Daniel Brock, Robert Kreuzer, Simon Kufner 5. Juli 2010 Daniel Brock, Robert Kreuzer, Simon Kufner () PhysX Evaluation 5. Juli 2010 1 / 17 1 Aufgabenstellung
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrInformatik II Übung, Woche 14
Giuseppe Accaputo 7. April, 2016 Plan für heute 1. Java Klassen Beispiel: Implementation eines Vorlesungsverzeichnis (VVZ) 2. Informatik II (D-BAUG) Giuseppe Accaputo 2 Java Klassen Beispiel: Implementation
MehrGrundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe)
Humboldt-Universität zu Berlin Institut für Informatik Grundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe) Übungsblatt 4: Felder und Rekursion Abgabe: bis 9:00 Uhr am 14.12.2015 über Goya
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrGaming on the Grid: Design und Realisierung eines dynamischen Online-Rollenspiels
Gaming on the Grid: Design und Realisierung eines dynamischen Online-Rollenspiels Projektseminar im Sommersemester 2007 Jens Müller / Frank Glinka / Alexander Ploss / Prof. Sergei Gorlatch Arbeitsgruppe
MehrEinstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
MehrArt Director bei Silver Style Entertainment
Jan Jordan Art Director bei Silver Style Entertainment www.silver-style.com Vollpreis PC Spiele Aktuell: The Fall Vor 1971 Die Steinzeit der Computerspiele: Nichtkommerziell/Werbung für neue Technologien
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung: Methoden 2 Wiederholung: if-else Anweisung int number =?; if ( BEDINGUNG ) { if (number > 0) { SATZ; BLOCK System.out.println("Größer 0"); else { SATZ; BLOCK
MehrBeleuchtung. in Computerspielen
Beleuchtung in Computerspielen Motivation Überblick Licht und Schattierung Lichtquellen Lokale Beleuchtungsmodelle Schattierungsverfahren Oberflächensimulation Beispiele der CryEngine Ausblick Zusammenfassung
MehrANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath
ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS Sascha Kath Dresden, Gliederung 1. Motivation & Zielstellung 2. Systembeschreibung 3. Implementierung und Messungen
MehrEffektiv Programmieren in С und C++
Dietmar Herrmann Effektiv Programmieren in С und C++ Eine Einführung mit Beispielen aus Mathematik, Naturwissenschaft und Technik 3., vollständig überarbeitete und erweiterte Auflage 3 vieweg flffm \;i
MehrEinstieg 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
MehrProgrammierpraktikum 3D Computer Grafik
Prof. Andreas Butz, Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Puffer Der 1-bit Stencil-Puffer Der 8-bit Stencil-Puffer Volumetrische
MehrBacktracking mit Heuristiken
Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrInstitut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke
Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //
MehrProgrammieren in Java
Programmieren in Java Vorlesung 03: Schleifen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 12 Inhalt Codequalität
MehrEinführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch
Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative
MehrErgebnisse des Praktikums Dreiphasensystem (Ströme) 1) Berechnung aller Ströme eines Dreiphasensystems (Verbraucher-Dreieckschaltung)
HOCHSCHLE OSTFALA Fakultät Elektrotechnik Prof. Dr. Ose Version 1 16.11.09 Vorlesung Wechselstromtechnik Ergänzung zum SS 2009: Dreiphasensystem Ergebnisse des Praktikums Dreiphasensystem (Ströme) 1) Berechnung
MehrStereoskopisches 3D Gaming
PRIME Symposium 17.02.2011 BERLIN Stereoskopisches 3D Gaming Jonas Schild Lehrstuhl für Medieninformatik und Entertainment Computing Universität Duisburg Essen Lehrstuhl Medieninformatik Entertainment
MehrWie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
MehrGrundlagen der Informatik
Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-
MehrPartikelsysteme. Lehrstuhl Computergrafik und Visualisierung Fakultät Informatik TU Dresden. Proseminar Computergrafik.
58 Partikelsysteme Lehrstuhl Computergrafik und Visualisierung Fakultät Informatik TU Dresden Proseminar Computergrafik Robert Stelzmann Gliederung 1. Einleitung und Motivation 2. Begriffsklärung 3. Einfache
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf
MehrVorkurs Informatik WiSe 16/17
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 11.10.2016 Technische Universität Braunschweig, IPS Überblick Einleitung Beispiele 11.10.2016 Dr. Werner Struckmann / Stephan Mielke,
MehrInteraktive Visualisierung zeitabhängiger Volumendaten
Interaktive Visualisierung zeitabhängiger Volumendaten Diplomarbeit von Dario Kardas graphische datenverarbeitung, universität erlangen-nürnberg Skalare Volumendaten Volumen besteht aus Schichtbildern
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrEin kleiner Blick auf die generische Programmierung
TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen
MehrBasic Movements Chasing and Evading
Basic Movements Chasing and Evading AI for Game Developers Kapitel 2 Vortag Inhalt: 1) Aufgaben eines KI-Systems 2) Predator/Prey behaviour 1) Notwendigkeit 2) Mögliche Verhaltensweisen 3) Ablauf und Ziele
MehrAdaptives Displacement Mapping unter Verwendung von Geometrieshadern
Fakultät Informatik Institut für Software- und Multimediatechnik, Professur für Computergraphik und Visualisierung Adaptives Displacement Mapping unter Verwendung von Geometrieshadern Diplomarbeit Timo
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrInformatik II Übung, Woche 10
Giuseppe Accaputo 10. März, 2016 Plan für heute 1. Typumwandlung (Typecasts) 2. Ordnerstruktur für Übungen 3. Vorbesprechung Übung 3 4. Nachbesprechung Übung 2 (inkl. Live Programmierung) Informatik II
MehrPanama Papers vs. Böhmermanns Schmähkritik
Professor Horst Müller MBA 14. April 2016 1. Befragung von Studierenden zu aktuellen Medienthemen: Panama Papers vs. Böhmermanns Schmähkritik Ansatz für die Befragung Die so genannten Panama Papers, über
MehrSeminar Game Development Game Computer Graphics. Einleitung
Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig
Mehr5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)
5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrKlausur Fachprüfung Wirtschaftsinformatik. Name:
Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 02.10.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrKapitel. Platzhalter. Was sind Platzhalter?
Kapitel 3 Was sind? sind ganz wichtige Elemente bei der Programmierung. Alle Programme, die du schon kennst (wie beispielsweise die Textverarbeitung WORD oder ein Programm zum Verschicken von E-Mails),
Mehr13. Funktionale Konzepte in Java
Funktionale vs. Imperative Programmierung 13. Funktionale Konzepte in Java Funktionale Programmierung, Lambda Ausdrücke, Datenströme, Pipelines Imperative Konzepte Ausführen von Anweisungen Zustand (z.b.
Mehr5. Java Arrays und Strings
Arrays Arrayvariable deklarieren: int[] z; z 5. Java Arrays und Strings Array erzeugen: z = new int[5]; Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche z ist
MehrAufgabenblatt 1 Variablen, Operatoren, Verzweigungen
Aufgabenblatt 1 Variablen, Operatoren, Verzweigungen Vorwort Dieses Blatt enthält mehr Aufgaben, als in der Präsenzzeit zu bewältigen sind. Suche dir also einfach Aufgaben aus, die dich interessieren oder
MehrAbgabe: (vor 12 Uhr)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Übungsblatt 1 Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,
Mehr