Algorytm wykrywania przecięcia dwóch prostokątów?

Szukam algorytmu do wykrywania, czy przecinają się dwa prostokąty (jeden pod dowolnym kątem, drugi tylko z liniami pionowymi / poziomymi). Testowanie, czy róg jednego jest w drugim PRAWIE działa. Nie powiedzie się, jeśli prostokąty utworzą kształt podobny do krzyża. Wydaje się, że dobrym pomysłem...