Kinematyka odwrotna

Kinematyka odwrotna (ang. inverse kinematics, IK) – metoda animacji obiektów złożonych stosowana w trójwymiarowej grafice komputerowej.

Kinematyka prosta vs odwrotna

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.

Zobacz też edytuj