0 Daumen
316 Aufrufe



für eine OpenGL-Aufgabe muss ich eine Kollisionserkennung (3D) entwickeln.
Hier soll festgestellt werden, ob eine Kugel mit einer Fläche eines Würfels kollidiert.

Mein theoretischer Ansatz wäre, den Abstand des Kugelmittelpunktes zur Fläche zu ermitteln (unter Berücksichtigung des Radius der Kugel).

Eine Würfelfläche ist durch die 4 Eckpunkte definiert, bspw.:
A(1, -1, -1)
B(1, -1, 1)
C(-1, -1, 1)
D(-1, -1, -1)

Leider fehlt mir im Moment völlig der Ansatz, das mathematisch zu lösen, da die Fläche ja begrenzt ist und ich es nicht wie bei einer Ebene angehen kann, richtig?

Ich wäre sehr dankbar, wenn mich jemand auf die richtige Spur bringen kann, bzw. mir einen Ansatz verrät, wie das zu lösen ist. Letztendlich möchte ich dann damit bei jeder Frameberechnung den Abstand des Kugelmittelpunktes zu den jeweiligen Flächen berechnen und wenn dieser kleiner als der Radius der Kugel ist, darauf reagieren.

Ich danke Euch bereits vorab.

von

Du meinst mit Würfelfläche die Würfeloberfläche als Ganzes und nicht eine bestimmte Würfelfläche (z.B. den Deckel)?

Na ja, es wird darauf hinauslaufen, alle Seiten des Würfels zu prüfen.

Die Aufgabe ist folgendermaßen:

Ich habe einen Würfel erstellt, bei dem man den Deckel des Würfels öffnen kann. Nun soll man eine Kugel in den Würfel steuern. Kollidiert die Kugel jedoch mit einer der Seiten des Würfels (auch geöffneter Deckel), muss das signalisiert werden.

Ich dachte, so was Ähnliches hätte ich schon mal gesehen, werde aber über die Suche https://www.mathelounge.de/suche?q=würfel+abstand+punkt+fläche+

nicht auf Anhieb fündig.

Statt mit einer Kugel zu rechnen, nimmst du vermutlich deren Mittelpunkt und stellst den geeignet vergrösserten Würfel mit Ungleichungen dar. Gibt schon einige Fälle.

EDIT: Bsp. r = 0.2 und M(x,y,z)

Dann gilt im Würfelinnern bei offenem Deckel

{ x>-0.8, y>-0.8, z> -0.8, x<0.8, y<0.8}

Weiter ist erlaubt x>1.2

oder

y> 1.2

oder z> 1.2

oder y<-1.2

oder z<-1.2

oder x<-1.2

Alle übrigen M sollten verboten sein.

1 Antwort

0 Daumen

Vom Handy, daher nur kurz:

Ich würde jeweils eine parallele Ebene zu den Fläche im Abstand r aufstellen. Kollision wenn M in einer der parallelen Ebenen liegt und d_n  von M zu allen punkten der jjeweiligen Würfelfläche kleiner/gleich $$\sqrt{2a^2+r^2}$$ gilt.

von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community