This is a simple inverse kinematics demonstration written in C++ and OpenGL. It implements a linear arm made up of 6 bones, and it will try to touch the target represented by a spinning cube. Poses are updated at each frame based on Jacobian transpose method. The root joint is restricted to be a one dimension joint to show how limited DOF influence the system.
The project is managed using Visual Studio on Win10. It depends on OpenGL, GLEW and GLM. With these dependencies configured correctly, this project should also be able to run on OS X and Linux. Instructions can be found here.
- Press
W
,A
,S
andD
to move the target around. - Press left
Shift
and leftCtrl
to move the target up and down. - Press
Space
to pause the movement of the arm. - Press
P
to turn on and off polygon view.
Here are some GIFs of the running program. Try download it and play with the mechanical arm!