SUNSITE : INVERSE KINEMATICS


One of the graduate-level CSCI courses I took, Animation and Motion Planning in Games, had a unit which covered inverse kinematics. The IK examples showed in class were 2D, with an arrangement of bones that was small, fixed, and without branching. For one project, I adapted what I saw in the examples to work with 3D meshes operating in a plane of 3D space. For the next, I upgraded to a procedurally generated skeletal tree which could operate throughout all of 3D space. The algorithm I used was a personal adaptation of Cyclic Coordinate Descent, which worked well in real-time with the way I had defined my skeletal tree. The simulation was written in C++, with OpenGL/GLFW/GLEW/GLM.