Kinematyka odwrotna
Ten artykuł od 2012-10 wymaga zweryfikowania podanych informacji. |
Kinematyka odwrotna (ang. inverse kinematics, IK) – metoda animacji obiektów złożonych stosowana w trójwymiarowej grafice komputerowej.
![](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/f/f4/FWDvsINV_Kinematics_HighResTransp.png/350px-FWDvsINV_Kinematics_HighResTransp.png)
Podobnie jak w przypadku kinematyki prostej (ang. forward kinematics), w kinematyce odwrotnej obiekty łączone są w hierarchie polegające na relacjach typu rodzic-dziecko. Ruchy obiektu-dziecka są zawsze wykonywane relatywnie do jego rodzica i, co za tym idzie, w przypadku ruchu rodzica, wszystkie jego obiekty-dzieci również wykonują ten sam ruch.
W odróżnieniu jednak od forward kinematics, gdzie dokładnie określa się ruchy poszczególnych obiektów, w kinematyce odwrotnej główną rolę gra fakt, że poza prostymi relacjami rodzic-dziecko, połączenia obiektów (przeguby) nałożone mają pewne ograniczenia – np. w przypadku animacji ręki ustala się, że przedramię może ruszać się tylko do wewnątrz łokcia, a nie na zewnątrz, a dodatkowo tylko w określonej płaszczyźnie.
Ruchy całości takiego złożonego obiektu nie są w przypadku IK określane bezpośrednio, lecz są wyliczane przez odpowiednie algorytmy. Osoba modelująca określa jedynie owe ograniczenia, a następnie wskazuje cele, do których mają dążyć poszczególne obiekty w poszczególnych klatkach animacji. Komputer zaś dba o to, żeby cele te zostały jak najdokładniej spełnione, przy zachowaniu zadanych ograniczeń.
Współcześnie, poza animacjami komputerowymi, metoda ta została zaadaptowana również do sterowania ruchami postaci w grach komputerowych oraz ramionami robotów przemysłowych.