Ist rot. Box in rot. Box

Für allgemeine Fragen zur Programmierung mit PureBasic.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Ist rot. Box in rot. Box

Beitrag von Lambda »

Kleines Geometrie Debakel. Eine Funktion zum prüfen ob 2 rotierte Rechtecke überlappen. Gegeben ist also 2xWinkel+X1+Y1+X2+Y2.

lG :)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Ist rot. Box in rot. Box

Beitrag 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?
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: Ist rot. Box in rot. Box

Beitrag 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
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Ist rot. Box in rot. Box

Beitrag von NicTheQuick »

Wenn das Mittelpunkte sein sollen, dass weiß man aber immer noch nicht wie breit und hoch die Rechtecke sind.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: Ist rot. Box in rot. Box

Beitrag von DrShrek »

Sie Dir das mal an:
Wurde mit den Chipmunk4PB Wrapper entwickelt.
http://www.morty-productions.de/icesoft ... wGames.zip
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten