finds.dev← search

// the find

TheComet/ik

★ 551 · C · MIT · updated Dec 2020

Minimal Inverse Kinematics library

A small C89 inverse kinematics library built around the FABRIK algorithm, with dedicated 1-bone and 2-bone solvers for the common cases where full FABRIK is overkill. Aimed at game/animation programmers who want to bolt IK onto a skeleton without pulling in a physics engine or a C++ framework.

Zero dependencies beyond the C standard library, so it drops into an existing engine's build without dragging in anything else. Supports arbitrary and disjoint trees with multiple end effectors, not just single chains, plus both position and rotation targets. Ships Python bindings and a real test suite (gtest/gmock vendored in), and has built-in malloc/free wrappers with optional backtrace capture for chasing leaks on Linux.

No commit since December 2020, and the README's own 'features being worked on' list — joint constraints, bone skipping, mass/spring/damper solver — never landed, so you're getting FABRIK-only with no way to clamp joint angles to physical limits. Documentation lives entirely on the GitHub wiki rather than in the repo, which is one dead link away from disappearing. C89 with a hand-rolled vtable system (there's literally a WHAT_ARE_VTABLES.md) makes the internals harder to read than a modern C++ equivalent, and the API leans on raw structs and manual solver->node->create() dispatch instead of anything more ergonomic.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →