2009-03-13 13 views
10

Okay, ich versuche, ein Programm zu schreiben, das mir sagen könnte, ob Punkte in einem 30x100-Rechteck, das um 140 Grad gedreht wurde, innerhalb eines anderen 30x100-Rechtecks ​​liegen, das um 200 Grad gedreht wurde.Wie kann ich Kollisionserkennung an gedrehten Rechtecken durchführen?

Ehrlich gesagt, ich weiß nicht einmal, wo ich anfangen soll. Ich dachte darüber nach, sie zu drehen, bevor ich normale Berechnungen anstellte, aber dann würden sie immer noch nicht zusammenpassen.

Wie kann ich das tun?

+0

Sie suchen also im Grunde nach dem Schnittpunkt zwischen zwei nicht achseausgerichteten Rechtecken? (Oder, wenn sie überhaupt kollidieren?) – strager

+1

@Daniel L, würde ich die Z-Achse annehmen, da der Fragesteller wahrscheinlich über 2D-Rechtecke im 2D-Raum spricht. – strager

+0

@Daniel: Es ist nicht nur ein Parallelogramm, es ist noch ein Rechteck ** - rotieren wird es nie ändern. Es spielt keine Rolle, ob Sie sich um das Zentrum oder eine Ecke oder einen anderen Punkt im 2D-Raum drehen. –

Antwort