[ vladaboy93 @ 06.02.2009. 22:49 ] @
Zanima me oblast matematike koja se bavi proveravanjem sudara izmedju 2D proizvoljnih oblika, naprimer ovako nesto


http://www.youtube.com/watch?v=LnvtZn2agmA nesto na ovu foru

Znam neke osnove i provere izmedju konvexnih jednostavnih objekata ( kvadrat, trougo, krug ), al ne znam kako funkcionise ta provera ako figure rotiraju.

Samo me interesuje gde mogu da nadjem neke informacije, neka oblast koja se time bavi.
[ Stevan Radanovic @ 06.02.2009. 23:00 ] @
Pa, ako znaš engleski, pretpostavljam da bi relativno lako mogao da nađeš nešto pretragom za "rotating collision" ili nešto slično. Nisam lično čitao, ali znam da postoje knjige tipa Matematika za GameDev, Fizika za GameDev i slično, u kojima garant postoji odgovor koji ti treba... Naravno, opet ti treba poznavanje engleskog.
[ Filip Strugar @ 07.02.2009. 02:10 ] @
Tebe interesuje 'continuous collision detection' - nimalo jednostavan problem :) - ako hoces dobru knjigu na temu Collision Detection-a, nabavi si 'Real-Time Collision Detection by Christer Ericson' (http://realtimecollisiondetection.net/).

Youtube link koji si poslao ima i link na stranu autora (http://www.dcs.warwick.ac.uk/~nick/wgd-lib/) sa koje mozes skinuti source code ako te interesuju detalji implementacije.
Ako pak zelis da se igras sa kvalitetnom a besplatnom open-source 3D physics bibliotekom predlazem http://www.bulletphysics.com.

Vecina jednostavnih game physics simulatora (najverovatnije i taj sa tog youtube linka) koristi discreet c.d. - jednostavno iz koraka u korak proverava postojanje preseka i u slucaju da postoje onda ih resava.
Dakle, fiziku i collision detection racunas npr svakih 0.03 sekunde i resavas nastale collisione. To ti je u principu sasvim dovoljno za bilo kakvu 2D igru i super pocetna tacka za razumevanje simulacije fizike igara i vezanih problema.

Problem sa discreet c.d. je sto ako je relativna brzina (ili rotacija) objekata prevelika u odnosu na duzinu (vreme) koraka simulacije i/ili velicinu objekta, desice se da se isti ne sudare nego prodju jedan kroz drugi iako bi se u stvarnosti trebali sudariti (ili nastaju razni drugi slicni problemi).

Resenje toga je koriscenje continuous collision detection algoritama koji se trude da ti za zadatu pocetnu i krajnju poziciju/rotaciju objekta izracunaju vreme i mesto sudara. Neki od algoritama za to su jednostavni (npr za sfera-sfera sudare) a neki veoma komplikovani pa se cesto koriste kompromisna resenja. Opet, dobar izvor informacija na tu temu je 'Real-Time Collision Detection by Christer Ericson' knjiga ili, kako Stevan predlaze, google search - mada ako imas bilo kakvo dodatno pitanje slobodno pitaj i ovde!



ps: trougAo ;)