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:
Testowy program i kod: http://www.ex_xerox.republika.pl/test.rar

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:
- max{ |(c1.x - x) cos(-α) - (c1.x - x) sin(-α)| , |(c1.y - y) sin(-α) + (c1.y - y)cos(-α)| * f}
Testowy program i kod: http://www.ex_xerox.republika.pl/test.rar
Subskrybuj Posty [Atom]