POV-Ray : Newsgroups : povray.animations : walking in place : walking in place Server Time
7 May 2024 06:50:49 EDT (-0400)
  walking in place  
From: melo
Date: 29 Feb 2008 04:30:00
Message: <web.47c7cf38dddebe08587ef5e20@news.povray.org>
I got myself into a few more exception errors.  Chris.  Your recommendations on
how to trace such an error is of utmost value, I wonder if it could go into a
How To library of information for those of us who tend to get themselves into
trouble quite often.

Well, s/he is walking but s/he is not going anywhere.

By rereading your posting it sounded like you used lots of neat 3D geometry to
figure out how to map 3D rotation vectors of joints into joints coordinates in
3D.  Given each segment spans two joints and the tree structure of Skeletal
being then you have all you need to construct it and render it.

I have taken a much simpler approach, and relied on POV-RAY for forward
kinematics.  Given a pose, i.e joint rotation vectors involved in that pose,
and
a hierarchically unioned CSG, placing

      Rotate_Around_Trans( AVAR[R_Hip_Ind], JOC_R_Hip )

kind of rotations throughout object creation, did the trick.  POV-RAY very
nicely determines where to place segments as a result of a set of rotations
burried within CSG tree.

Once I construct my Humanoid in his/her current Pose, I apply the same
transformation to her/him as I render him.  So s/he gets nicely scaled and
positioned in the display window.

Now that all poses and transition are good enough, I thought I could make
him/her move in the direction s/he takes his steps.  I calculated his step size
and tired to translate her/him by clock, so by the time s/he moves to his
cross-over pose s/he would be completely moved over his one standing leg which
was his forward leg.

I hoped

   #if ( !VZero( Forward_Foot_Coord ) )
      object {
         TransformedHumanoid

         //Align left side of object to be coplanar with Forward_Foot_Coord
         Align_Trans( TransformedHumanoid, -x, Forward_Foot_Coord )

         //Align bottom of object to be coplanar with Forward_Foot_Coord
         Align_Trans( TransformedHumanoid, -y, Forward_Foot_Coord )
      }

Here Forward_Foot_Coord is the coordinates of whichever foot had just strode
forward. As Humanoid gathers his back leg into cross-over position his center
of gravity gets shifted over the heal of his forward foot.

Align_Trans would be a very crude 1st approximation, what would you recommend
that I do?  So he moves.   For later, I like him to follow footsteps laid out.

Thanks,
Meltem


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.