POV-Ray : Newsgroups : povray.binaries.animations : Inverse Kinematics Server Time
23 Dec 2024 03:04:45 EST (-0500)
  Inverse Kinematics (Message 1 to 10 of 14)  
Goto Latest 10 Messages Next 4 Messages >>>
From: stm31415
Subject: Inverse Kinematics
Date: 22 Nov 2006 00:00:01
Message: <web.4563d91a6e825d3ccf1900cc0@news.povray.org>
Wow. So about a year ago now, I posted that I was well on my way to an
inverse kinematics include for pov. Yeah. And I found a full-grown
rhinocerous in my breakfast cereal this morning. I worked about two months
trying to get the darn math to work, and I had a wild, randomly moving arm
to show for it. Well. IRTC comes out with 'dance' and my mind immediately
comes back to IK. So I sit down and start typing, and two *days* later I
have this. A working (if untweaked) IK system. Go figure.
Is this something everyone has done and I just haven't found it, or should I
comment my code and post? All I have seen along these lines is Rune's neck.
If it's been done, I'd love to get some pointers on a few things that are
still plaguing me, and if not, I'd love to give something useful to the
community.

Blah, blah --- without further ado, here is an artists mannequin doing... I
don't know what. But all I gave it was a pair of splines for the hands to
follow, and each frame rendered in about 1 sec. Total time for the whole
animation: 1 min 34 sec.



--
Sam Bleckley
stm 31415 (at) g mail . com


Post a reply to this message


Attachments:
Download 'out.mpg' (240 KB)

From: Charles C
Subject: Re: Inverse Kinematics
Date: 22 Nov 2006 01:50:01
Message: <web.4563f2bc89f8419f772850b00@news.povray.org>
I appreciate this kind of work..  I think it could be "one of those things"
that everybody does, except that it seems not enough people are doing it.
Keep going...
Charles


"stm31415" <sam### [at] cscom> wrote:
> have this. A working (if untweaked) IK system. Go figure.
> Is this something everyone has done and I just haven't found it, or should I
> comment my code and post?


Post a reply to this message

From: Tek
Subject: Re: Inverse Kinematics
Date: 22 Nov 2006 16:21:23
Message: <4564bf53@news.povray.org>
That looks good, very smooth! Though the orientation of the hands seems to 
just come from the arm orientation.

I keep thinking about doing my own system, but first I'd have to convince 
myself that I can make a decent looking character that renders quick enough 
to be used in animation, and I can just never be bothered!

It would be cool if you published the code, I wouldn't use it directly, but 
I'd definitely use it for reference if I ever get round to writing my own 
one.

-- 
Tek
http://evilsuperbrain.com

"stm31415" <sam### [at] cscom> wrote in message 
news:web.4563d91a6e825d3ccf1900cc0@news.povray.org...
> Wow. So about a year ago now, I posted that I was well on my way to an
> inverse kinematics include for pov. Yeah. And I found a full-grown
> rhinocerous in my breakfast cereal this morning. I worked about two months
> trying to get the darn math to work, and I had a wild, randomly moving arm
> to show for it. Well. IRTC comes out with 'dance' and my mind immediately
> comes back to IK. So I sit down and start typing, and two *days* later I
> have this. A working (if untweaked) IK system. Go figure.
> Is this something everyone has done and I just haven't found it, or should 
> I
> comment my code and post? All I have seen along these lines is Rune's 
> neck.
> If it's been done, I'd love to get some pointers on a few things that are
> still plaguing me, and if not, I'd love to give something useful to the
> community.
>
> Blah, blah --- without further ado, here is an artists mannequin doing... 
> I
> don't know what. But all I gave it was a pair of splines for the hands to
> follow, and each frame rendered in about 1 sec. Total time for the whole
> animation: 1 min 34 sec.
>
>
>
> --
> Sam Bleckley
> stm 31415 (at) g mail . com
>
>


Post a reply to this message

From: Rune
Subject: Re: Inverse Kinematics
Date: 23 Nov 2006 17:01:56
Message: <45661a54@news.povray.org>
stm31415 wrote:
> Is this something everyone has done and I just haven't found it, or
> should I comment my code and post? All I have seen along these lines
> is Rune's neck. If it's been done, I'd love to get some pointers on a
> few things that are still plaguing me, and if not, I'd love to give
> something useful to the community.

Nice work!

I also have "How to make an IK leg" at
http://runevision.com/3d/povgoodies/#218

Shoot away if you have any questions.

Rune
-- 
http://runevision.com


Post a reply to this message

From: stm31415
Subject: Re: Inverse Kinematics
Date: 24 Nov 2006 11:45:00
Message: <web.4567205a89f8419f55c3fb700@news.povray.org>
"Tek" <tek### [at] evilsuperbraincom> wrote:
> That looks good, very smooth! Though the orientation of the hands seems to
> just come from the arm orientation.
>

Yes. Hand position gives a gesture meaning --- that will be determined
separately from the positioning of the rest of the arm. It would look
strange to have it reach for something just with its hand. As far as a
character, I'm actually hoping to use this --- it will force me to use just
motion to convey the story: no facial expressions, no voices, no words.

Rune --- I had not seen that. It looks like a much more efficient method for
making a leg than what mine will be.  The benefit of mine is that it will do
arbitrary limbs (arms, legs, robots, etc.), that have axes in all 3
dimensions; at least it should. I'm about to give him legs; I will post
when I have results.


--
Sam Bleckley
stm 31415 (at) g mail . com


Post a reply to this message

From: Art Flint
Subject: Re: Inverse Kinematics
Date: 24 Nov 2006 17:37:27
Message: <45677427$1@news.povray.org>
stm31415 wrote:
> Is this something everyone has done and I just haven't found it, or should I
> comment my code and post? All I have seen along these lines is Rune's neck.
> If it's been done, I'd love to get some pointers on a few things that are
> still plaguing me, and if not, I'd love to give something useful to the
> community.
>
> Sam Bleckley
> stm 31415 (at) g mail . com
>
>   
Even if it has been done, I would still like to see the code. :)


Post a reply to this message

From: Slime
Subject: Re: Inverse Kinematics
Date: 24 Nov 2006 19:39:52
Message: <456790d8$1@news.povray.org>
I don't know much about IK, but what is it that makes his arms/elbows tilt
up towards the end? If his hands are the only things being controlled, why
wouldn't his arms just hang straight down the whole time?

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

From: Rune
Subject: Re: Inverse Kinematics
Date: 26 Nov 2006 06:43:07
Message: <45697dcb$1@news.povray.org>
stm31415 wrote:
> Rune --- I had not seen that. It looks like a much more efficient
> method for making a leg than what mine will be.  The benefit of mine
> is that it will do arbitrary limbs (arms, legs, robots, etc.), that
> have axes in all 3 dimensions; at least it should. I'm about to give
> him legs; I will post when I have results.

I'm not sure what you mean by "that have axes in all 3 dimensions". The 
methods described on my page was used for the AL the Alien animations at 
http://runevision.com/3d/anims/#40 so it can be used for arbitrary 
two-segment limbs like arms and legs. It's not a general system that can be 
used for any hierarchy of bones though (like the inverse kinematics in 
professional animation systems are).

Rune
-- 
http://runevision.com


Post a reply to this message

From: Charles C
Subject: Re: Inverse Kinematics
Date: 26 Nov 2006 12:00:01
Message: <web.4569c72089f8419f2869ae640@news.povray.org>
There are 6 degrees of freedom total...  3 axis of rotation and 3 degrees of
translation.  For whatever type of skeletal system you have you can divide
it up by joint type, (e.g. the elbow bends one way but not the other, the
forearm might be a separate joint that twists only)....  Or you can make
all joints fundamentally the same in terms of how many degrees of freedom
they support, but with different limits.  For my stuff (still FK, I haven't
gotten around to IK) I've chosen the latter.  Every bone has 3 degrees of
freedom - two bends plus twist.  I opted not to bother with "sliding"
joints.  For future flexibility I also decided to give the joint a very
small but non-zero reverse bend limit, so that if I really wanted to, I
could bend the fingers backwards.

Charles

"Rune" <new### [at] runevisioncom> wrote:
> stm31415 wrote:
> > Rune --- I had not seen that. It looks like a much more efficient
> > method for making a leg than what mine will be.  The benefit of mine
> > is that it will do arbitrary limbs (arms, legs, robots, etc.), that
> > have axes in all 3 dimensions; at least it should. I'm about to give
> > him legs; I will post when I have results.
>
> I'm not sure what you mean by "that have axes in all 3 dimensions". The
> methods described on my page was used for the AL the Alien animations at
> http://runevision.com/3d/anims/#40 so it can be used for arbitrary
> two-segment limbs like arms and legs. It's not a general system that can be
> used for any hierarchy of bones though (like the inverse kinematics in
> professional animation systems are).
>
> Rune
> --
> http://runevision.com


Post a reply to this message

From: stm31415
Subject: Re: Inverse Kinematics
Date: 27 Nov 2006 01:25:01
Message: <web.456a842f89f8419fcf1900cc0@news.povray.org>
Charles: I do one DOF per joint --- easier for IK, that way; it has only one
variable per segment.

Slime: His arms bend up because if they did not, his forearms would have to
change length, or something; try to touch your sternum with the tips of you
finger, with your elbow at your side --- impossible. Your elbow must be away
from your body to  let your hands do that. This is why IK is good, it shows
these things without my having to specifically enumerate them.

Art: I will post the code when I am satisfied with it --- it might be a
month or two, because I haven't decided what arrangement is most effective
but still flexible. OTOH, it might be more useful to see it now, rather
than the polished but unintuitive result. I'll see what I think tomorrow.

Rune: if a limb had 3 DOF your math would fall apart. It works in any axis,
but not all at once. 3 dimensions makes things hard, as does having more
than 2 segments; there are too many possible solutions.

Here is a walk cycle for your enjoyment. One leg spline, one arm spline
(same macro as leg spline, actually) and a little math to make the body
move and twist. It appears my IK works with pretty much arbitrary limbs,
with no adjustment of the numbers. I was worried it would take tweaking of
several constants to make it work for a given limb, but not so far. I am
still working on adding some 'weight' to the limbs, making it prefer to
hang down rather than stick out, but you can't tell that here. Tomorrow I
think I will post the code and explain it, so that someone can give me a
hand with that. Still, I am pretty happy with how easy it was to give him a
relatively natural gait, especially since now it is VERY easy to make it
bouncier or flatter or longer or...

Good night.

-s


Post a reply to this message


Attachments:
Download 'out.mpg' (144 KB)

Goto Latest 10 Messages Next 4 Messages >>>

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