Kollisionserkennung

Ähnliche Dokumente
Algorithmen und Datenstrukturen Bereichsbäume

Kollisionserkennung Kapitel 12 Collision and Rigid Body Dynamics aus Jason Gregory: Game Engine Architecture. (Seite )

Wiederholung. Objekte) Hauptkosten beim Pathtracing Ziel: Beschleunigung durch Reduktion der Schnittpunktstestzahl. Ansätze

Raytracing. Beschleunigungsverfahren

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

Kapitel 8 Kollisionserkennung

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem

Kollosionserkennung bei 3D- Objekten

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit

Algorithmische Geometrie 7. Punktsuche

Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

CELLmicrocosmos III. CELLeditor. Olga Mantler und Ufuk Aydin

Virtuelle Realität Kollisionserkennung

Featurebasierte 3D Modellierung

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Ray Tracing. 2. Ray Tracing-Prinzip und -Algorithmen. 3. Schnittpunkt- und Normalenberechnung

12. Flächenrekonstruktion aus 3D-Punktwolken und generalisierte Voronoi-Diagramme

5/24/07. Allgemeine Regeln zur Optimierung. Octree / Quadtree. 5D-Octree für Strahlen [Arvo u. Kirk 1987] Primitive in adaptiven Gittern / Octrees

Übungsblatt 7 - Voronoi Diagramme

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Hallo Welt für Fortgeschrittene

Masterthesis. Vida Ostadzadeh Entwicklung eines Prototyps zur steuerungsbasierten Kollisionsvermeidung von komplexen 3D Objekten

Abitur 2010 Mathematik GK Geometrie VI

Dynamische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

6. Texterkennung in Videos Videoanalyse

Prüfung WS 2006/07. Robotik

1 Rund um die Kugel. a) Mathematische Beschreibung

10.1 Geometrische Wegplanung im Konfigurationsraum

Geometrierepräsentation

Quadtrees. Christian Höner zu Siederdissen

M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)

Boolesche Operationen und lokale Manipulationen

Algorithmische Geometrie

Indizierung von Geodaten - Raumbezogene Indexstrukturen. Seminar mobile Geoinformationssystem Vortrag von Markus Steger

3D Modelle. 2.1 Constructive Solid Geometry (CSG) implizite Flächen. parametrische Flächen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

Projektaufgabe Rohrsysteme

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

Inhaltsverzeichnis. 1 Hardwaregrundlagen

Vektorrechnung Aufgabe aus Abiturprüfung Bayern GK

Distributed Algorithms. Image and Video Processing

Dualität + Quad-trees

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt

2.4. Triangulierung von Polygonen

Voronoi Diagrams, Delaunay Triangulations and Alpha Shapes Nils Kubera (6kubera)

Abitur 2013 Mathematik Geometrie V

Modellierung. Oliver Hartmann

Cell Decomposition & Potential Field

Bachelorarbeit. Anne-Lena Kowalka. Analyse der Sichtbarkeitsberechnung anhand des View Frustum Cullings

Geometrische Modellierung mittels Oktalbäumen und Visualisierung von Simulationsdaten aus der Strömungsmechanik. Klaus Daubner

4.7 Globale Beleuchtungsmodelle

Mathematik verstehen 7 Lösungsblatt Aufgabe 6.67

2.4A. Reguläre Polyeder (Platonische Körper)

Flächeninhalt, Volumen und Integral

INTERVALLBÄUME. Tanja Lehenauer, Besart Sylejmani

Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung

Eine Hilfe, wenn du mal nicht mehr weiterweisst...

Lösungen zum Thema Geometrie. Lösungen zur Aufg. 0: a) Gib an, um welche besondere Linie im Dreieck es sich jeweils handelt.

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

Tutorial. Übungsblatt CAD: Faltwerkdach für Bühne

Koordinatensystem: Der Nullpunkt des Koordinatensystems liegt im Schwerpunkt des Teils.

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39

Quadtrees und Meshing

Abitur 2010 Mathematik LK Geometrie V

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2)

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt

Quadtrees und Meshing

Geometrie. Bei der Addition von Vektoren erhält man einen Repräsentanten des Summenvektors +, indem man die Repräsentanten von aneinanderfügt:

entspricht der Länge des Vektorpfeils. Im R 2 : x =

Kreistangente. Tangente an Graph. Winkel(markierung)

Hindernisumfahrung eines autonomen Roboters in einer unbekannten statischen Umgebung. Ronny Menzel

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

4.22 Buch XI der Elemente

Räumliche Bereichsintegrale mit Koordinatentransformation

Quadtrees und Meshing

Transkript:

1

Kollisionserkennung von Jens Schedel, Christoph Forman und Philipp Baumgärtel 2

1. Einleitung Wozu wird Kollisionserkennung benötigt? 3

- für Computergraphik 4

- für Simulationen 5

- für Wegeplanung 6

2. Einfache Kollisionserkennung Kollision und Abstand zwischen konvexen Polygonen / Polyedern 7

Kollision zwischen Polygonen - Schnittberechnung: Objekt 1: m Seiten Objekt 2: n Seiten Aufwand = O(mn) - Funktion liefert nur TRUE oder FALSE 8

Kollision zwischen Polygonen Schnitt zweier Linien: - wenn sich die zugehörigen Geraden schneiden - und der Schnittpunkt innerhalb der Begrenzung der Linien liegt 9

Abstand zwischen konvexen Polygonen kurzer Exkurs: Voronoi Regionen Voronoi Regionen eines Polygons basieren immer abwechselnd auf einer Ecke und einer Seite. Die Begrenzungen stehen immer in den Ecken senkrecht auf den Seiten. 10

Abstand zwischen konvexen Polygonen Fall 1: Ecke Ecke Voronoi Regionen: Jede Ecke liegt in der Voronoi Region der anderen Ecke 11

Abstand zwischen konvexen Polygonen Fall 2: Ecke Seite Voronoi Regionen: - Lotfußpunkt in der V. Region der Ecke - Ecke in der V. Region der Seite 12

Abstand zwischen konvexen Polygonen Fall 3: Seite - Seite Voronoi Regionen: Es gibt ein Paar von Lotfußpunkten, die in der Voronoi Region der jeweils anderen Seite liegen 13

Abstand zwischen konvexen Polygonen statische Vorberechnung: - Bestimmung des Falles in O(mn) dynamische Berechnung: - bei kurzen Zeitschritten: lineare Bestimmung des Falles 14

3. Hüllkörper (Bounding Volumes) AABB Kreis OBB k-dop 22.06.05 Kollisionserkennung 1

3.1 Warum Hüllkörper? Hüllkörper vereinfachen komplexe geometrische Körper Kollisionserkennung wird einfacher und schneller Komplexere Kollisionserkennung nur, wenn sich die Hüllkörper überschneiden. 22.06.05 Kollisionserkennung 2

3.2 AABB (Axis Aligned Bounding Box) Beim AABB Algorithmus werden um den geometischen Körper achsenparalelle Quader gelegt. Diese Quader sind nach den Achsen des Koordinatensystems ausgerichtet. Effizienz Speicher Aufwand Komplexität Rotation Sehr schlecht Geringer Speicherbedarf Sehr einfache Erzeugung Geringe Komplexität Nicht möglich 22.06.05 Kollisionserkennung 3

3.2 AABB (Axis Aligned Bounding Box) Beispiel für Kollisionserkennung im zweidimensionalen Raum Keine Kollision Kollision Im dreidimensionalen Raum funktioniert die Kollisionserkennung genauso, nur mit einer Ache mehr. Kollisionserkennung

3.3 Kugel Um den geometrischen Körper wird eine Kugel aufgespannt. Der Radius ist gleich der Entfernung vom Mittelpunkt zu dessen entferntesten Punkts. Dadurch kann der Körper in der Kugel beliebig gewendet, gedreht und bewegt werden. Effizienz Speicher Aufwand Komplexität Rotation Sehr schlecht Geringer Speicherbedarf Schwierig zu erstellen Geringere Komplexität Ohne Neuberechnung möglich Kollisionserkennung

3.4 OBB (Oriented Bounding Box) Der OBB Algorithmus funktioniert ähnlich wie der AABB. Jedoch werden die Quader nicht am nach den Achsen des Koordinatensystems ausgerichtet, sondern an dem geometrischen Körper. Dadurch bekommt man eine höhere Hülleffizienz als bei AABB. Effizienz Speicher Aufwand Komplexität Rotation Gute Hülleffizienz Höherer Speicherbedarf Rechenintensive Erzeugung Aufwendige Kollisionserkennung unproblematisch Kollisionserkennung

3.4 OBB (Oriented Bounding Box) Beispiel für Kollisionserkennung im zweidimensionalen Raum: Keine Kollision Keine Kollision Kollision, da keine trennende Achse gefunden Kollisionserkennung

3.5 k-dop (K-Discrete Oriented Polytop) Der wesentliche Unterschied zum OBB Algorithmus liegt darin, dass es mehrere Beschränkungsflächen gibt. Somit hat ein k-dop eine wesentlich höhere Hülleffizienz. Effizienz Speicher Aufwand Kompexität Rotation Sehr gut Größerer Speicherbedarf Einfache Erzeugung Geringeste Komplexität Mit Neuberechnung Kollisionserkennung

3.5 k-dop (K-Discrete Oriented Polytop) Anwendung des separierenden Achsentheorems. Die Intervalle werden in K/2 Richtungen auf Überlappung getestet. Überlappen sich alle Intervalle, so liegt eine Kollision vor. Kollisionserkennung

3.6 Hierarchie-Baum Warum Hierarchie Bäume? + Man führt die Kollisionserkennung mit einer sehr groben Hüllkörper durch. Sollte eine Kollision erkannt werden, so verwendet man zur Erkennung genauere Hüllkörper. - Es müssen für eine Kollisionserkennung bei Verdacht auf Kollision mehrere Berechnungen durchgeführt werden. Kollisionserkennung

3.6 Hierarchie-Baum Methoden zur Erstellung von Hierarchie Bäumen Top-Down Man erzeugt einen Hüllkörper für den gesamten geometrischen Körper. Nun teilt man diesen Körper in zwei Teile und erzeugt wieder einen Hüllkörper Dieses Verfahren wiederholt man bis man nur noch einen Hüllkörper um ein Polygon hat. Bottom-Up Man erzeugt einen Hüllkörper um ein Polygon. Nun fügt man zwei Hüllkörper zu einem neuen Hüllkörper zusammen. Dieses Verfahren wiederholt man bis man nur noch einen Hüllkörper um den kompletten geometrischen Körper hat. Kollisionserkennung

4. Raumunterteilung 4.1 uniforme Raumunterteilung 4.2 Quadtree / Octree 4.3 Ausblick: BSP Baum 4.4 Sweep-and-Prune 1

4.1 uniforme Raumunterteilung - gleichmässiges Gitter wird über Szene gelegt - jedes Objekt wird mindestens einer Zelle zugeordnet 2

3

4.1 uniforme Raumunterteilung Vorteile: - einfaches Verfahren Nachteile: - bei bewegten Objekten muss das Gitter ständig aktualisiert werden - bei verschieden großen Objekten ist es schwer die Gitterweite zu bestimmen 4

4.2 Quadtree / Octree Quadtree: - Baumstruktur - Wurzel repräsentiert die komplette Szene - rekursive Zerlegung in jeweils vier Quadranten (Knoten), bis gewünschte Auflösung erreicht 5

6

Quadtree Vorteile: - weniger zu speichernde Daten - Zellengröße leichter wählbar Nachteile: - bei dynamischen Objekten, ist Struktur aufwändig zu Aktualisieren Für dreidimensionale Szenen werden Octrees verwendet. 7

Octree 8

4.3 Ausblick: BSP-Bäume (Binary Space Partitioning) - Raum wird durch Flächen von Polygonen geteilt - gleichmäßige Anzahl der Objekte in entstehenden Teilräumen - wenig durch Teilebene geschnittene Objekte - Objekte werden jeweils den Teilräumen zugeordnet - geschnittene Objekte werden an Teilungsebenen geteilt, und Teile jeweils einem Teilraum zugeordnet 9

4.3 Ausblick: BSP-Bäume 10

4.4 Sweep-and-Prune - Projektion des achsenorientierten Hüllkörpers (AABB) auf die Koordinationachsen ergibt ein Intervall - Intervallüberscheidungen bestimmen - nur wenn zwei AABBs sich überlappen, können sich die dazugehörigen Objekte überlappen - auch für dynamische Objekte geeignet: überstrichener Raum wird von AABB eingehüllt 11

4.4 Sweep-and-Prune 12

5. Quellen http://www.esi-group.com/sitehicas/bmwtoc.gif http://www.openoutcast.de/ooc/album_pic.php?pic_id=24 http://www.lafferty.ca/photos/things/saab_9-3/crash.jpg http://symbolcraft.com/graphics/bsp/bsptreedemo_german.html http://scidok.sulb.uni-saarland.de/volltexte/2004/179/ http://msl.cs.uiuc.edu/planning/web.html http://www.informatik.unihalle.de/~loch/lehre/ss2004/vo/vr_11.pdf http://www-info2.informatik.uniwuerzburg.de/mitarbeiter/holger/lehre/osss02/schmidt/vortrag.pdf http://www12.informatik.unierlangen.de/edu/robertino/vortrag/jimenez02.pdf http://www12.informatik.unierlangen.de/edu/robertino/vortrag/lin94.pdf 13

Download http://www.atlinux.de/uni/vortrag_robertino.pdf 14