EGjoni / Everything-Will-Be-IK

A Robust Inverse Kinematics Library
MIT License
42 stars 4 forks source link

Benefits of Kusudama Constraints? #7

Closed fire closed 5 years ago

fire commented 5 years ago

What are the benefits of Kusudama Constraints? I can't find a paper describing them.

EGjoni commented 5 years ago

There are no papers describing them. I devised Kusudama constraints out of frustration with the limitations / pitfalls of other constraint schemes.

The benefits of Kusudamas include:

Expressiveness: Easy to specify / visualize / understand. Versatility: Valid direction region can be basically any shape you like. Continuity: No corners for bones to get "stuck" in (unless you specifically want there to be). Extendability: Easy to incorporate additional stuff like soft boundaries or dynamic axial constraints. Speed: Kusudamas are specified in terms of a sequence of cones (and associated radii) on a sphere (through which a path is created). So any boundary violation or distance check requires only a few angular distance calculations.

Let me know if there's anything particular you're trying to figure out. I realize the documentation still has a ways to go. In the meantime, if it helps, here is a visualization of Kusudamas.

https://www.youtube.com/watch?v=6TpUqiyxdok

This library allows the user to incorporate their own constrain system if they don't want to use Kusudamas, (and shows a small Euler constraint extension for example purposes). But unless you have very specific reasons for using something other than Kusudamas with this library, you should probably just stick to Kusudamas. They are fast and reliable.

fire commented 5 years ago

Thank you, I'll post again when I start porting ot C++.