Seite 1 von 1

Ist rot. Box in rot. Box

Verfasst: 02.02.2013 12:30
von Lambda
Kleines Geometrie Debakel. Eine Funktion zum prüfen ob 2 rotierte Rechtecke überlappen. Gegeben ist also 2xWinkel+X1+Y1+X2+Y2.

lG :)

Re: Ist rot. Box in rot. Box

Verfasst: 02.02.2013 16:37
von NicTheQuick
X1, Y1, X2, Y2 gibt es auch doppelt? Sind das schon die gedrehten Koordinaten oder werden die erst noch gedreht anhand des Winkels? Also ist Breite = X2 - X1 und Höhe = Y2 - Y1?

Re: Ist rot. Box in rot. Box

Verfasst: 02.02.2013 20:26
von man-in-black
Ich geh mal davon aus, dass das die "Mittelpunkte" und nicht irgendwelche Randpunkte sind. Damit dürfte sich das
"schon gedreht?" geklärt haben (sofern ich richtig liege^^)

Vorüberprüfung:
Abstand < Diagonale1/2+Diagonale2/2

Ideen/Ansätze für die Hauptüberprüfung:

Durchlaufe alle Kanten des Rechteckes1 und gucke, wie viele Eckpunkte des anderen Vierecks links oder rechts davon liegen.
(Natürlich etwas komplizierter umgesetzt :D ). Da du die Drehung kennst, weist du auch, wo deine Eckpunkte jetzt liegen.
Greif dir einen und gehen in Kantenrichtung+Drehung. Sollte ein Punkt 4x "Innen" liegen, wirds kritisch^^
(ABER auf beide Rechtecke anwenden!)

Oder du greifst dir wieder nen Eckpunkt und rechnest die Winkel zwischen Verbindungsgeraden und Koordinatenachse aus. Da du
bei jedem Eckpunkt eine Art "verbotenen Bereich" von pi/2 (also den Teil, der Innen liegt) hast, ist diese Überprüfung vllt noch schneller zu erledigen, da zwei Punkte reichen sollten. Wenn wenigstens ein Eckpunkt 4 Eckpunkte des anderen Quadrates NICHT im "verbotenen Bereich" hat, dann kollidieren sie nicht.

Hab noch so schöne Ideen im Kopf, aber keine Zeit mehr :lol:

mib

Re: Ist rot. Box in rot. Box

Verfasst: 02.02.2013 20:44
von NicTheQuick
Wenn das Mittelpunkte sein sollen, dass weiß man aber immer noch nicht wie breit und hoch die Rechtecke sind.

Re: Ist rot. Box in rot. Box

Verfasst: 02.02.2013 20:46
von DrShrek
Sie Dir das mal an:
Wurde mit den Chipmunk4PB Wrapper entwickelt.
http://www.morty-productions.de/icesoft ... wGames.zip