Zitat:
Später soll das ganze in einem Spiel laufen, von da her Suche ich besonders nach einer perfomanten Lösung.
Wenn es um Performance geht, kannst du auch einfach 99% aller Fälle abfangen, indem du zunächst prüfst, ob sich die Bounding Boxes (die parallel zu den Achsen ausgerichtet sind) überschneiden, und nur in dem Fall eine genaue Prüfung vornimmst (alternativ auch Bounding Circles, das könnte bei gedrehten Rechtecken sogar besser sein). Denk daran, dass es bei dem Gedanken der Performance-Optimierung nicht unbedingt immer darum geht, einen zeitaufwändigen Vorgang etwas schneller zu machen, sondern häufiger, ihn von vornherein zu vermeiden.