04 marca 2007

Witam, dzisiaj przedstawie rozwiazanie problemu testowania kolizji obb za pomoca konstrukcji 3-ciej metryki. Nasz rysunek pomocniczy wyglada w tak:


Metryki d1, d2 przedstawiaja przykladowe kule w metrykach opisujacych obb. Metryka d3 jest tworzona na podstawie dwoch poprzednich. Na rysunku na szaro sa zaznaczone odpowiednio metryki d1' i d2' czyli lekko zmodyfikowane metryki d1 i d2. Metryka d3 powstaje przez maximum z metryk d1' i d2', a zostaje ona wyznaczona przez krzywa ktora zakresla srodek obb w momencie stykania sie z drugim obb ( konsekwencja pomyslu ze jeden obb powiekszamy, a drugi zmniejszamy do punktu - czyli srodka ). Problem jaki sie pojawia mozna latwo odgadnac z rysunku: o jaki promien powinnismy rozszerzyc kazda z metryk, aby otrzymac metryke d3? Aby odpowiedziec na to pytanie musimy zdefiniowac metryke dla prostokata:
Jak widac jest to standardowa metryka, tyle ze dodalismy wspolczynnik f wyrazony jako stosunek szerokosci prostokata do jego wysokosci ( czyli promien jest jego szerokoscia, a r / f wysokoscia ). Teraz bierzemy dwa wierzcholki obb podstawiamy ich wspolrzedne do metryki drugiego obb ( wzgledem srodka pierwszego obb) obliczamy jego odleglosc po x i po y, bierzemy max z x'ow i max z y'kow. Obliczamy wspolczynnik proporcjonalnosci dla nowych metryk d1' i d2'. Promienie obb powiekszamy o max z x'ow i testujemy czy srodek jednego obb nalezy do kuli w metryce d3.

Testowy program i kod: http://www.ex_xerox.republika.pl/test.rar

Komentarze:
Hi
 
Prześlij komentarz

Subskrybuj Komentarze do posta [Atom]





<< Strona główna

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

Subskrybuj Posty [Atom]