RyanJuckett.com

Cyclic Coordinate Descent in 2D - Visualizing CCD Print E-mail
  
Wednesday, 11 February 2009 04:43
Article Index
Cyclic Coordinate Descent in 2D
Optimizing a joint
Visualizing CCD
Local Minima
Writing the code
All Pages

  

Visualizing CCD

To help visualize the algorithm, let's run through a single iteration of CCD on a small kinematic chain of rotational joints.

 

Initial kinematic chain orientation.

fig_2_a

figure 2a

 
Rotate bone 3 to place end effector as close to target as possible.

fig_2_b

figure 2b

 
Rotate bone 2 to place end effector as close to target as possible.

fig_2_c

figure 2c

 
Rotate bone 1 to place end effector as close to target as possible.

fig_2_d

figure 2d

 

After our first loop through the bone chain, we have moved the end effector much closer to the target position. By repeating this process, we will continue to get closer and closer. Once we have reached a tolerable distance from the target position or once we have performed too many iterations (for performance reasons), we can stop looping. If we didn't manage to find a solution on one frame, we can supply the updated joints as the starting CCD values on the next frame (essentially distributing a larger number of iterations over multiple frames).

 



Last Updated ( Sunday, 02 May 2010 06:28 )
 

Creative Commons License
RyanJuckett.com site content by Ryan Juckett is licensed under a Creative Commons Attribution 3.0 United States License.