Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof.

Slides:



Advertisements
Ähnliche Präsentationen
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Advertisements

Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
Gliederung Motivation / Grundlagen Sortierverfahren
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Motivation Richard Göbel.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Prof.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Externe Datenstruktur lineare Liste
Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Collision Detection.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 3 Übung: Softwaretechnologie.
2. Die rekursive Datenstruktur Baum 2
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Was ist Spiel? Erfahrung Bedeutung Vergnügung Narration Simulation Sozial Jonas Zimmer Softwaretechnologie II (Teil 2) Prof. Dr. Thaller.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Universität zu Köln Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Wintersemester 2011/2012 Dozent: Prof. Dr. phil. Manfred Thaller.
Wasser in 3D Die Modellierung und realitätsnahe Echtzeitberechnung von Wasser unter Zuhilfenahme der Grafik Engine OGRE 3D Präsentation von Paul van Hemmen.
Effiziente Algorithmen
Efficient Alias Set Analysis Using SSA Form Proseminar Programmanalyse WS 11/12 André Hunke.
Dynamische Programmierung mit Anwendung auf Sequence Alignment Problem
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut für Wirtschaftsinformatik- Software Engineering JKU Linz.
Arrays und ArrayLists In JAVA.
PART V CONTACT PHYSICS Chapter Aufbaumodul 3: Visuelle Programmierung II Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Prof.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Arrays und ArrayLists In JAVA.
ANIMATION II Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung SS 2013 Softwaretechnologie II (Teil II): Simulation und 3D.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
PhysX auf der GPU in Batman: Arkham Asylum & bei Fluid Simulations Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie.
Algorithmen und Datenstrukturen
Minecraft Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Re-usable Content in 3D und Simulationssystemen SS 2015 Prof.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
ROBERT NYSTROM GAME PROGRAMMING PATTERNS III.8 Thema: Sequencing Patterns Seminar: Softwaretechnologie II (Teil 2) Dozent: Prof. Dr. Manfred Thaller Referent:
GAME PROGRAMMING PATTERNS – FLYWEIGHT & OBSERVER Robert Nystrom Softwaretechnologie II Teil 2 Anike Schulz.
Game Loop & Update Method Robert Nystrom – Game Programming Patterns Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung SS.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
Das Verdauungssystem Präsentiert von Theresa
Eröffnungsveranstaltung
Eine kleine Einführung in das Projekt „Mausefallenauto“
Genau lesen - Wortaufbau Spezial-App für Igel-Fans
Innovation durch Genie
Abiturprüfung Mathematik 2017 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Stochastik Aufgabe C 1 - Lösungen
Wie ist das Wetter? ? ? ? ?.
Jazz- und Bluesharmonielehre für «Praktiker» «Nicht-Notenleser», «Nicht-Tonartsichere» «Keyboarder» aber auch andere Instrumentalisten Weitere Unterlagen:
Das große Standbild und die Herausforderung des Glaubens
(Integrative) Beschäftigung im nationalen und internationalen Vergleich Entwicklung, Trends & Perspektiven Dr. Oliver Koenig Universität Wien – Institut.
Vortrag der Seminararbeit von Jens Wittmeyer Aachen, den
Fehlererkennung, Fehlerkorrektur und Huffman
... mit uns können Sie rechnen!
Trigonometrische Funktionen
Wahlteil 2016 – Aufgabe B 2 Aufgabe B 2.1
Antennen Michael Funke – DL4EAX.
Wasaskolan ist ein Gymnasium in der schwedischen Kleinstadt Tingsryd.
Abiturprüfung Mathematik 2016 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
Das Leben in der Groβstadt
Fachdidaktik Modul Gruppe A Biologie SS19 Ein Vortrag von Lyn Semmel
 Präsentation transkript:

Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof. Dr. Thaller SS 2015 Referent: Tim Höfer

Absicht und Motivation  Effizient Objekte zu lokalisieren, indem Sie sie in einer Datenstruktur durch ihre Positionen organisiert.

Einheiten auf dem Spielfeld  Funktion „Nahkampf“  Wenn Unit A auf Position von Unit B  KAMPF

Battle Lines  Vorschlag: Statt Units im Array zu speichern nimmt man Battle Lines

Das Muster  Jedes Objekt hat seinen Platz im Raum (Spielfeld)  Objekte werden in räumlichen Datenstrukturen gespeichert  Räumliche Datenstruktur lässt Objekte einfacher vergleichen

Sample Code  Aufteilung in Zellen

Ein Netz verlinkter Einheiten  2D: Jede Unit besitzt Position & Pointer zum Grid

Ein Netz verlinkter Einheiten  Jede Zelle = Pointer zur Unit

Ein Netz verlinkter Einheiten  Resultat: Doppelte verlinkte Listen statt Arrays!

Das Battlefield

A Clash of Swords  Units in Zellen  KAMPF

A Clash of Swords  Nur noch Einheiten pro Zelle werden verglichen

Charging Forward  Performance Problem wurde beseitigt  Was passiert, wenn die Zelle verlassen wird?  Bewegung:

Charging Forward

At Arm‘s Length

Design Decisions  Flat partition:  Ist einfacher  Der Speicherverbrauch ist konstant  Aktualisiert schneller bei Positionsveränderung der Objekte  Hierarchical partition  Behandelt leeren Raum effizienter  Behandelt dicht besiedelten Raum effizienter

Ist Partitionierung abhängig von der Menge der Objekte?  Ziel: Ausgewogene Partitionierung  Wenn die Partitionierung objektunabhängig ist  Objekte können inkrementell hinzugefügt werden  Objekte können schnell bewegt werden  Partitionen können unausgeglichen sein  Wenn sich Partitionierung objektabhängig ist  BSP / k-d trees teilen die Welt rekursiv  Partitionen sind dadurch ausgeglichen  Es ist effizienter mehrere Objekte auf einmal zu partitionieren

Ist Partitionierung abhängig von der Menge der Objekte?  Wenn die Partitionierung objektunabhängig ist, aber die Hierarchie die Objekte berücksichtigt

Werden Objekte nur in Partitionen gespeichert?  Wenn die Objekte nur in der Partition gespeichert werden:  Es vermeidet Speicher-Overhead und die Komplexität zweier Sammlungen  Wenn es eine zusätzliche Sammlung für die Objekte gibt:  Objekt-Anfragen werden schneller durchlaufen

Quellen 