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:
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.
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:
- d(a, b) = |(a.x - b.x) cos(-φ-π/4) - (a.x - b.x) sin(-φ-π/4)| + |(a.y - b.y) sin(-φ-π/4) + (a.y - b.y)cos(-φ-π/4)|
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:
<< Strona główna
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.
Prześlij komentarz
Subskrybuj Komentarze do posta [Atom]
<< Strona główna
Subskrybuj Posty [Atom]