24 lutego 2007

Chcialbym przedstawic rozwiniecie sposobu na wykrycie kolizji metoda rozwiazania ukladu rownan:
max{ |(c1.x - x) cos(-α) - (c1.x - x) sin(-α)| , |(c1.y - y) sin(-α) + (c1.y - y)cos(-α)| } = r1
max{ |(c2.x - x) cos(-β) - (c2.x - x) sin(-β)| , |(c2.y - y) sin(-β) + (c2.y - y)cos(-β)| } = r2

Jak widac rozwiazanie tego ukladu nie jest proste(wiele przypadkow). Najlepszym sposobem byloby tylko okreslenie czy uklad ma rozwiazanie.

OBB mozna przedstawic rowniez za pomoca innej metryki:
Nie jestem przekonany czy to prostszy sposob :)

Przedstawione tutaj metody maja jedna wspolna wade: nie poprawiaja zlozonosci obliczeniowej w stosunku do najprostrzego podejscia wykrywania kolizji obb(policzenie rownan prostych przechodzacych przez wierzcholki obb i rozwiazanie ukladow rownan). Jedyna zaleta przedstawionej metody jest taka, ze w ogole nie trzeba znac pozycji wierzchokow.

Jesli ta metoda bedzie w przyszlosci przezemnie rozwijana to pewnie tylko w kierunku szacowania ilosci rozwiazan.

Komentarze:
Dżizas!
Zaimplementowałeś to? ;)
 
Probowalem(http://wachu.i365.pl/welcome_in_hell.png) hehehe ;) Ale wczoraj udalo mi sie stworzyc 3 metryke bazujaca na tych 2 i kolizje juz dzialaja poprawnie(narazie tylko kwadraty o tych samych promieniach). Sprawdzanie jest *naprawde* szybkie. A jesli pomysl by przeniesc do 3d to juz w ogole(w porownaniu do innych metod) :) Na blogu postaram sie to opisac jakos wieczorem, jesli uda mi sie rozszrzyc metode o rozne promienie.
 
No to czekam. ;)
 
Udalo sie ;) Jeszcze, zeby dalo sie sprawdzac miedzy prostokatami i bedzie super.
 
No to świetnie, jak skomplikowane obliczenia? ;) Przedstaw rozwiązanie tutaj. ;)
 
Noo, czekamy na więcej. ;)
 
Prześlij komentarz

Subskrybuj Komentarze do posta [Atom]





<< Strona główna

This page is powered by Blogger. Isn't yours?

Subskrybuj Posty [Atom]