Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Genaue Kollisionen (https://www.delphipraxis.net/147685-genaue-kollisionen.html)

Medium 17. Jul 2013 15:24

AW: Genaue Kollisionen
 
Um das zu berücksichtigen, müsste man alle Quads betrachten, die beide Objekte zwischen den zwei Zeitpunkten durchqueeren. (Es könnten ja durchaus auch mehrere Quads sein.) Man macht also im Grunde erst eine Ermitttlung der Quads der potenziellen Kollidierer auf ihrem Weg innerhalb des Timeframes, dann eine Kollisionsprüfung der beteiligten Quads (aka: welche Quads werden von beiden Partnern durchquert?), und wenn dabei dann Quads übrig bleiben, die beide Bahnen enthalten, wird wirklich die genaue Prüfung gemacht.

Da ich das Teil jetzt nicht angegucken kann, aber dennoch interessiert bin: Du müsstest ja zwei Kollisionspunkte bei Bounding-Circles bekommen. Einen eintretenden, einen Austretenden. Wie unterscheidest du zwischen den beiden, um nicht fälschlicherweise mit dem hinteren zu hantieren?

Aphton 17. Jul 2013 15:32

AW: Genaue Kollisionen
 
Hierbei handelt es sich nur um eine Zeitpunktsbestimmung, wo gerade eben keine Kollision stattfindet (preCollisionCircles). Eine Kollisionsverarbeitung ist gar nicht drinnen, darum gings ja gar nicht.
Außerdem kriege ich höchstens einen Kollisionspunkt ~ Berührungspunkt!

Aber die Idee mit allen Quads in Bewegungsrichtung ist eig. naheliegend. Danke!

Namenloser 17. Jul 2013 16:03

AW: Genaue Kollisionen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Achja, wo Aphton das gepostet hat, könnte ich ja eigentlich auch mal meine Lösung von damals posten...

Aber ich warne euch: Der Code ist noch viel hässlicher. Dafür ist er wohl mathematisch exakt (von eventuellen Float-Ungenauigkeiten mal abgesehen). Ich hatte mich „damals“, wohl auch mangels mathematischer Kenntnisse (die ich heute wahrscheinlich/vielleicht hätte), sehr lange daran (und an der Fehlersuche) aufgehalten. Irgendwann war mir deshalb alles egal und ich wollte nur noch, dass es funktioniert, und nachdem es das tat, hab ich es nicht mehr angerührt :lol:.

Letztlich habe ich aber das umgesetzt, was in der von mir verlinkten Präsentation beschrieben wurde: Aus „bewegtem Kreis + bewegtem Kreis“ wird „fester Kreis + bewegter Kreis“ und daraus wird „fester, größerer Kreis + Strahl“.

Man kann in dem Test-Formular mit der linken bzw. rechten Maustaste die beiden Kreise platzieren und mit linker/rechter Maustaste bei gedrückter Shift-Taste ihre Bewegungsrichtung und Geschwindigkeit einstellen. Die Semantik ist hier also auch etwas anders als bei Aphtons Testprojekt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz