Trefferprüfung
Trefferprüfung (oder Treffererkennung) in der Computergrafik[1] ist der Prozess, bei dem festgestellt wird, ob ein benutzergesteuerter Cursor (z. B. ein Mauszeiger oder ein Berührungspunkt auf einer Touchscreen-Oberfläche) ein bestimmtes grafisches Objekt (z. B. eine Form, Linie oder Kurve) oder ein Steuerelement (Widget) schneidet, das auf dem Bildschirm gezeichnet wird. Eine Trefferprüfung kann bei der Bewegung oder Aktivierung einer Maus oder eines anderen Zeigegeräts durchgeführt werden.
Die Trefferprüfung wird von grafischen Benutzeroberflächen (GUIs) verwendet, um auf Benutzeraktionen zu reagieren, wie z. B. die Auswahl eines Menüpunkts oder eines Ziels in einem Spiel auf der Grundlage seiner visuellen Position. In Web-Programmiersprachen wie HTML, SVG und CSS wird dies mit dem Konzept der Zeiger-Ereignisse (z. B. vom Benutzer initiierte Cursorbewegung oder Objektauswahl) in Verbindung gebracht.
Kollisionserkennung ist ein verwandtes Konzept zur Erkennung von Schnittpunkten zweier oder mehrerer unterschiedlicher grafischer Objekte statt des Schnittpunktes von einem Cursor mit einem oder mehreren grafischen Objekten.
Algorithmus
Es gibt viele verschiedene Algorithmen, die zur Durchführung von Trefferprüfungen mit unterschiedlicher Schnelligkeit oder Genauigkeit verwendet werden können. Ein gängiger Trefferprüfungs-Algorithmus wird unten im Pseudo-Code vorgestellt:
function HitTest(Rectangle r1, Rectangle r2) returns boolean
{
return ((r1.X + r1.Width >= r2.X) and (r1.X <= r2.X + r2.Width) and (r1.Y + r1.Height >= r2.Y) and (r1.Y <= r2.Y + r2.Height));
}
Einzelnachweise
- Foley et al: Computer Graphics: Principles and Practice. 2015.