Kollisionserkennung und -behandlung

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur eingeschränkt:
  ★★★☆☆ Korrektheit: zu größeren Teilen überprüft
  ★★☆☆☆ Umfang: wichtige Fakten fehlen
  ★☆☆☆☆ Quellenangaben: Quellen fehlen großteils
  ★★★★★ Quellenqualität: ausgezeichnet
  ★★★★★ GlossarWiki-Konformität: ausgezeichnet

1 Definition (von Ericson[1])

Collision detection: detecting if two (or more) objects are intersecting. More specifically, collision detection concerns the problems of determining if, when, and where two objects come into contact. “If” involves establishing a Boolean result, answering the question whether or not the objects intersect. “When” must additionally determine at what time during a movement collision occurred. “Where” establishes how the objects are coming into contact. Roughly, these three types of queries become increasingly more complex to answer in the order given. ... The terms intersection detection and interference detection are sometimes used synonymously with collision detection.

Collision determination: Gathering information about when and where (in addition to the Boolean collision detection result) is sometimes labeled collision determination.

1.1 Static collision detection

Static collision detection involves detecting intersection between the objects, at discrete points in time, during their motion. At each such point in time the objects are treated as if they were stationary at their current positions with zero velocities.

1.2 Dynamic collision detection

Dynamic collision detection considers the full continuous motion of the objects over the given time interval. Dynamic collision tests can usually report the exact time of collision and the point(s) of first contact.

Annotation: Static tests are (much) cheaper than dynamic tests, but the time steps between tests must be short so that the movement of the objects is less than the spatial extents of the objects. Otherwise, the objects may simply pass each other from one time step to the next without a collision being detected. This phenomenon is referred to as tunneling.

2 Definition (von Kowarschick[2])

Unter Kollisionserkennung versteht man die algorithmische Behandlung des Problems, die Kollision, d.h. das Berühren oder die Überlappung mehrerer zwei- oder dreidimensionaler geometrischer Objekte bei der Simulation physikalischer Welten zu erkennen.

Die Kollisionsbehandlung findet im Anschluss an die Kollisionserkennung statt und hat die Aufgabe, die sich aus der Kollision ergebenden Änderungen von Geschwindigkeit, Richtung, Drehung, Form, Aussehen etc. an den beteiligten Objekten vorzunehmen.

Man unterscheidet zwei wesentliche Arten der Kollisionserkennung:

2.1 A-posteriori-Kollisionserkennung und -behandlung

Im Falle der A-posteriori-Kollisionserkennung (auch „statische“ oder „diskrete Kollisionserkennung“) wird in jedem Zeitschritt der Simulation einer Welt, in der bestimmte physikalische Regeln gelten, eine Liste von geometrischen Objektpaaren (oder -mengen) erstellt, die sich aktuell berühren oder überlappen. Auf diese Objekte wird nachträglich (a posteriori) die Kollisionserkennung und -behandlung (einschließlich der Auflösung von Überlappungen) angewendet.

2.2 A-priori-Kollisionserkennung und -behandlung

Im Falle der A-priori-Kollisionserkennung (auch „dynamische“ oder „stetige Kollisionserkennung“) wird in jedem Zeitschritt der Simulation einer Welt, in der bestimmte physikalische Regeln gelten, eine Liste von geometrischen Objektpaaren (oder -mengen) erstellt, die im nächsten Schritt kollidieren werden. Auf diese Objekte wird im Voraus (a priori) die Kollisionserkennung und -behandlung angewendet.

3 Anmerkungen

Typische Einsatzgebiete der Kollisionserkennung und -behandlung sind beispielsweise:

Die Nachteile der A-posteriori-Kollisionserkennung sind:

  • Tunneln (tunneling): Zwei Objekte können einander durchdringen, wenn sie weder zum Zeipunkt $t_i$ noch zum Zeitpunkt $t_{i+1}$ kollidieren, wohl aber zwischen diesen beiden Zeitpunkten. (Beispiel)
  • Überlappung (penetration): Zwei Objekte, die sich zum Zeitpunkt $t_i$ nicht berühren, berühren sich zum Zeitpunkt $t_{i+1}$ nicht nur, sondern überlappen sich. Dies kann bei der anschließenden Kollisionsbehandlung zur Folge haben, dass die beiden Kollisionspartner aneinander hängen bleiben, obwohl dies physikalisch nicht korrekt ist. (Beispiel)

Diese Nachteile versucht die A-priori-Kollisionserkennung auf Kosten von Performanzeinbußen zu vermeiden.

4 Beispiele

5 Quellen

  1. Ericson (2004): Christer Ericson; Real-Time Collision Detection; Auflage: 1; Verlag: CRC Press; ISBN: 978-1558607323, 1558607323; 2004; Quellengüte: 5 (Buch)
  2. Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)

6 Siehe auch