2 Stimmen

Erkennung von gedrehten 2D-Rechtecken mit Schnittpunkten

Ich habe 2 Rechtecke, die willkürlich platziert sind, und ich habe alle vier Eckpunkte der Rechtecke wie

struct Rect
{
 NSPoint topLeft; 
 NSPoint topRight; 
 NSPoint bottomLeft; 
 NSPoint bottomRight; 
}

Ich möchte prüfen, ob sich 2 Rechtecke schneiden. Ich suche eine Methode ähnlich der NSIntersectsRect . Aber NSIntersectsRect wird die Drehung des Rechtecks nicht berücksichtigt. Die Punkte in der Struktur sind die nach der Drehung erhaltenen Punkte.

Beispielcode in Objecitve-C, C++ oder C wäre eine große Hilfe.

5voto

lhf Punkte 67202

Eine einfache Möglichkeit besteht darin, zu prüfen, ob jeder Scheitelpunkt des einen Rechtecks auf der gleichen und äußeren Seite einer Kante des anderen Rechtecks liegt und andersherum. Für schnellere und allgemeinere Methoden siehe http://gpwiki.org/index.php/Polygon_Collision y http://cgm.cs.mcgill.ca/~godfried/unterricht/cg-projects/97/Plante/CompGeomProject-EPlante/algorithm.html

2voto

second Punkte 26650

Siehe z.B. g Kollision mit gedrehtem 2D-Rechteck auf gamedev.net

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X