역운동 (inverse kinematics) 문제란, 팔다리의 x, y, z 위치와 길이를 파악한 뒤, 그를 바탕으로 관절 조작에 필요한 각도 값들을 계산하는 문제임. 컴퓨터 그래픽과 로봇 공학에서 다루는 주요 문제 중 하나. 아주 간단하게는, 코사인 법칙과 사인 법칙만 갖고서도 관련 문제를 풀 수 있음.
일단, 종아리뼈는 상큼하게 무시하고, 무릎을 앞으로 굽히는 동작에 들어가는 넙다리뼈와 정강뼈 각도에 대한 계산을 해 보겠음.
준바딘계 1: 우리가 조작하는 졸라맨의 넙다리뼈와 정강뼈 길이가 각각 40cm와 30cm 된다 치고, 다음과 같은 좌표를 가지고 있다고 확인함. 일단, 우리가 작업하는 관점에서는, z를 불변으로 무시 가능하고, x와 y가 중요:
준비단계 2: 일부러 '땅을 뚫는' 프레임을 한 장 더 그림. 땅을 10cm 뚫고 들어간다 치겠음:

준비단계 3: 준비단계 2를 바탕으로, 다음과 같은 수학 문제를 풀면, 무릎을 몇 도로 굽혀야 하는 지 알 수 있음 (힌트: 코사인 법칙):
(본인 기준으로 117도 나옴)
준비단계 4: 입맛대로 고관절 각도와 발목 각도를 어떻게든 계산하면 끝. 일단 본인 기준:
작업 단계에 따른 주의사항:
- 준비단계 1의 경우, 왜 '확인'이라고 썼냐 하면, 저걸 막무가내로 '상정'하고 눈짓으로 대충 보고 급발진하면 안 됨. 실제 3D 소프트웨어를 가지고 작업을 할 때에는, 본인이 다루는 졸라맨의 뼈대와 관절이 소프트웨어 내부의 '세계' 기준으로 어떤 좌표를 가지고 있는지 정확하게 파악해야 하며, 그 마저도 근위 관절을 바탕으로 한 상대/국소 좌표 다르고, 절대 좌표 다르니 주의.
- 본 글에서 다루는 준비단계 예시들은 모두 절대 좌표를 상정하고 그렸음.
- Y값에 -10을 주며 내려가는 과정에서, 발바닥이 얼마나 '땅에 붙어있는가' 를 까다롭게 보느냐에 따라서, 트위닝/보간 작업도가 그만큼 올라감.



