Mam dwie wyrównane do obiektu ramki ograniczające (tzn. Nie są wyrównane względem osi, obracają się wraz z obiektem). Chciałbym wiedzieć, czy dwa wyrównane do obiektu pola nakładają się. ( Edycja: uwaga - używam testu ramki ograniczającej wyrównany do osi, aby szybko odrzucić odległe obiekty, więc nie ma znaczenia, czy procedura quad jest trochę wolniejsza ).
Moje skrzynki są przechowywane jako cztery punkty x, y. Szukałem odpowiedzi, ale nie potrafię zrozumieć nazw zmiennych i algorytmów w przykładach, aby zastosować je do mojego konkretnego przypadku.
Czy ktoś może mi pomóc, w jasny i prosty sposób, jak to zrobić? Dzięki. (Określony język nie jest ważny, pseudokod w stylu C jest w porządku.)
źródło
Najłatwiejszym sposobem jest prawdopodobnie przetestowanie każdego wierzchołka pola B względem każdej strony pola A (obliczenie podpisanej odległości). W ten sposób możesz sklasyfikować każdy wierzchołek jako „przed” lub „za” segmentem.
Jeśli wszystkie wierzchołki B klasyfikuje się jako „przed” jednym z segmentów A, B i A nie pokrywają się; w przeciwnym razie robią.
Jest to w pewnym stopniu zaangażowane, więc możesz uzyskać pewien wzrost wydajności, wykonując najpierw sprawdzenie koła za pomocą ograniczających okręgów kwadratów (banalne do obliczenia)
źródło