Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Überprüfung, ob sich Rechtecke schneiden

  Alt 1. Jul 2007, 13:36
Hier mal meine Lösung:

Mit dem Drehwinkel des zweiten Rechtecks kann ich die unterste Ecke bestimmen (oder auch die untersten Ecken im Fall von z.B. winkel=0)
Wenn dann z.B. die y-Komponente der Geschwindigkeit kleiner als Null ist, schneide ich die Halbgerade, die entsteht, wenn ich den Richtungsvektor an die unterste Ecke hänge, mit der oberen Kante meines stehenden Rechtecks.

Wenn aber die y-Komponente positiv ist, schneide ich die übernachste Ecke nach der untersten mit der unteren Seite des stehenden Rechtecks.

Egal wie zweite Rechteck gedreht ist, schneide ich maximal 4 halbgeraden. (z.B. dann wenn das Rechteck nicht gedreht ist und von oben links auf das stehende prallt. Dann kann die untere linke und rechts ecke mit der oberen kante zusammenstoßen, aber auch die rechte obere und untere mit der linken Seite des Rechtecks.

Insgesamt also nicht allzu viel Aufwand.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat