Za svaki vremenski korak potrebno je izračunati novo stanje objekta na temelju proteklog vremena. Jednadžbe gibanja krutog tijela su sljedeće:

             (5.1)
             (5.2)

  gdje je:

   ukupni moment sile koji djeluje na tijelo

  Postoji mnogo različitih preciznih postupaka numeričke integracije. No kako se u ovom algoritmu neće tražiti točno vrijeme sudara sasvim dovoljan postupak će biti i jednostavan Eulerov postupak. Tako da za nove pozicije objekata vrijedi:

             (5.3)
             (5.4)

  Dva su osnovna pristupa rješavanja sudara i kontakata, pomoću impulsa i pomoću ograničenja. Postupak rješavanja sudara pomoću impulsa radi na način da se odredi sudar između dva tijela te se obično pronađe par najbližih točaka i na njih se primjeni impuls. Zbog primijenjenog impulsa mogu se dogoditi novi sudari pa je potrebno ponovo primjenjivati nove impulse sve dok se svi sudari ne riješe. Izračun impulsa je vrlo brz pa je metoda vrlo efikasna. Problem nastaje kada se tijela naslanjaju jedno na drugo te tada međusobno imaju puno kontakata istovremeno, međutim samo će jedan kontakt biti riješen u jednom vremenskom koraku. Rezultat toga će biti vibriranje tijela. Ukoliko bi se htjela velika preciznost svi kontakti bi se trebali riješiti u isto vrijeme. To se može riješiti pomoću ograničenja. Za svaki kontakt koji se dogodi definira se određeno ograničenje penetracije, određeni uvjet koji mora biti zadovoljen. Sva ta ograničenja se mogu zapisati pomoću skupa linearnih jednadžbi. Rješavanje tih jednadžbi može biti jako složeno pogotovo kada ima mnogo tijela koja su istovremeno u kontaktu. Pa je tako u većini slučajeva osim kad je potrebna velika preciznost bolje rješavati kontakte pomoću impulsa.

  Sudar se definira kao dodir između dva tijela pri čemu tijela međusobno imaju određenu relativnu brzinu, dok je kontakt dodir između dva tijela pri čemu tijela nemaju brzinu već djeluju jedno na drugo samo određenom silom. U [1] je predložen novi algoritam kojim se nastoje smanjiti mnogi problemi vezani uz simulaciju pomoću impulsa. Uobičajeni postupak simulacije krutih tijela je sljedeći:

  • odredi nove pozicije i brzine tijela
  • riješi sudare
  • riješi kontakte

  Pri tome se za rješavanje sudara i rješavanja kontakta koriste različiti algoritmi. Pri rješavanju kontakta bi se primjerice izračunao impuls kao i za sudar te bi se na novu  brzinu određenu pomoću impulsa nadodala još mala brzina ovisno o tome koliko je objekt penetrirao unutar drugi objekt kako bi ih se razdvojilo. Na mjesto kontakta se može postaviti i opruga tako da ovisno o dubini u kojoj se neko tijelo nalazi unutar drugog toliko na njega djeluje veća sila. Problem koji se tada javlja najbolje se vidi prilikom simulacije kocke koje klizi niz kosinu. Neka je koeficijent elastičnosti i koeficijent trenja dovoljno velik da bi tijelo trebalo stajati mirno na kosini. Pod utjecajem sile teže kocka dobije brzinu i počne propadati kroz kosinu. Prilikom detekcije sudara budući da sada postoji mala brzina između tijela i kosine detektira se sudar te će zbog kocka promijeniti smjer gibanja tj. odbiti će se od kosine. Nakon toga slijedi detekcija kontakata gdje se neće ništa detektirati budući da se kocka udaljava od kosine. Kocka će kasnije ponovo pasti na kosinu i nastavit će se nepravilno odbijati od kosine umjesto da klizi niz kosinu. Zbog istog razloga se javlja i efekt da tijelo koje stoji na podlozi nepravilno vibrira umjesto da mirno stoji.

  Slika 14. Gibanje kocke na kosini pri standardnom koraku integracije

  Postoji mnogo metoda rješavanja tog problema. Jedan od jednostavnijih načina kojim se može riješiti taj problem je da se za određivanje je su li tijela u sudaru ili u kontaktu zada određeni prag pa ukoliko je relativna brzina tijela manja od određenog praga tijela su u kontaktu dok su inače u sudaru.

  Prednost predloženog algoritma je razdvajanje rješavanja sudara i kontakata bez upotrebe praga. Sudari su vezani uz brzinu jer tijela prilikom sudara mijenjaju brzinu dok su kontakti vezani uz silu i akceleraciju jer da nema akceleracije kontakte ne bi trebalo uopće rješavati. Zato ima smisla rješavati sudare prije nego što se na tijela primjeni sila, tj. akceleracija, a kontakte nakon primjene sile. Upravo je to predloženo u [1]. Algoritam je sljedeći:

  • detekcija i rješavanje sudara
  • određivanje novih brzina
  • detekcija i rješavanje kontakata
  • određivanje novih pozicija

  Kako se prvo vrši detekcija sudara sva tijela u mirovanju imaju brzinu jednaku nuli ili blizu nule tako da se prilikom detekcije sudara ukoliko je ne dobije više elastični sudar. Nakon detekcije sudara odrede se nove brzine tijela pod utjecajem gravitacije. Sada slijedi rješavanje kontakta kod kojeg se ispravno zaustavi tijelo tako da se kod određivanja nove pozicije tijelo ostaje na svome mjestu.

  Slika 15. Gibanje kocke na kosini pri novom koraku integracije

  Prilikom detekcije sudara i kontakata mora se voditi računa o tome da se isti algoritam koristi za detekciju sudara kao i za detekciju kontakata, inače bi se moglo dogoditi da se ne detektira sudar ali da se detektira kontakt pri čemu će se primiti neispravan impuls, neelastični umjesto elastičnog.