BF-Blender : SoC IK inside / windows (2005/08/27)

User-contributed CVS development builds. Please test and give feedback!

Moderators: jesterKing, stiv

Post Reply
Posts: 0
Joined: Tue Jan 04, 2005 10:25 pm

BF-Blender : SoC IK inside / windows (2005/08/27)

Post by lguillaume »

Hello, like the title says, SoC Ik branch now in BF-Blender.
Compilation with Bullet, quicktime, ...

Log Blendix:
What changed in IK lib:

Fully restructured, with components now as follows:
- IK_Solver: C <=> C++ interface
- IK_QSegment: base class for bone/segment with 0
to 3 DOF
- IK_QTask: base class for a task (currently there's
a position and a rotation task)
- IK_QJacobian: the Jacobian matrix, with SVD
decomposition, damping, etc
- IK_QJacobianSolver: the iterative solver

The exponential map parametrization is no longer used,
instead we have now:
- 3DOF and 2DOF XZ segments: directly update matrix
with Rodrigues' formula
- Other: Euler angles (no worries about singularities

Computation of the Jacobian inverse has also changed:
- The SVD algorithm is now based on LAPACK code,
instead of NR, to avoid some problems with rounding
- When the problem is underconstrained (as is the case
most of the time), the SVD is computed for the transpose
of the Jacobian (faster).
- A new damping algorithm called the Selectively Damped
Least Squares is used, result in faster and more
stable convergence.
- Stiffness is implemented as if a weighted psuedo-inverse
was used.

Tree structure support.

Rotation limits:
- 3DOF and 2DOF XZ segments limits are based on a swing
(direct axis-angle over XZ) and twist/roll (rotation
over Y) decomposition. The swing region is an ellipse
on a sphere.
- Rotation limits are implemented using an inner clamping
loop: as long as there is a violation, a violating DOF
is clamped and removed from the Jacobian, and the solution
is recomputed.

Convergence checking is based now on the max norm of angle
change, or the maximum number of iterations.
zip file (2317KB)
7zip file(1771KB)
Last edited by lguillaume on Sun Aug 28, 2005 5:29 pm, edited 2 times in total.

Posts: 0
Joined: Wed Oct 13, 2004 11:18 am

Post by leander »

Thanks you!!!

Can you re-compile with the envelopes for next time?

Sorry my english

Posts: 51
Joined: Wed Oct 16, 2002 1:00 pm

Post by blendix »

As of now the new IK code is in bf-blender (with envelopes, obviously). So you will just have to wait for the next bf-blender compile.

Post Reply