Pole Vector Constraint? Or rotate plane.

This topic is 3046 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

I am trying to make an inverse kinematic solution. I have it mostly figured out, but I need can't figure out how to get control over the direction knee aims. I am trying to make a pole vector. Basically this means I need to get a joint to aim at one target using the X and Z axis, then aim at another target using the Y axis. How would you do this? I made this diagram to help illustrate http://omploader.org/vM2wwMg/poleVector.jpg

Share on other sites
Do we speak about a selfmade implementation of a mathematical approach? Then perhaps the following may help:
The length of the vector from the hip to the knee is
x2 + y2 + z2 = L2
where y can be computed from pointing to the 2nd target, so that unknown and known parts separated looks like
x2 + z2 = L2 - y2

Both the vector we're looking for as well as the vector to the 1st target should be co-linear if projected onto the plane, so that
x = k * x' and z = k * z'
where x', z' are the said (projected) co-ordinates of the 1st target's vector. This simple formulation works so only if the rotation plane is parallel to the local space's x/z plane, of course. Otherwiese you actually need some transformation to get that right.

Then
k2 * ( x'2 + z'2 ) = L2 - y2
resp.
k = +/- sqrt( ( L2 - y2 ) / ( x'2 + z'2 ) )
from what the negative result can be ignored because it would lead in the opposite direction of what we want.

Hence ( k * x', y, k * z') would be result if I made no mistake.

Or do we speak about Maya? Then perhaps this thread in CGSociety or something similar may be of interest.

Share on other sites
Ya I wanted to know the actual math behind it, thank you I will try to get that work

Now that math is done in matrix multiplication, correct?

z = k * z'

k and z are matrices? and z' means the inverse?

Share on other sites
Quote:
 Original post by eemYa I wanted to know the actual math behind it, thank you I will try to get that workNow that math is done in matrix multiplication, correct?z = k * z'k and z are matrices? and z' means the inverse?

Nope; all these are scalars: z is the 3rd component of the vector hip-to-knee, z' is the 3rd component of the vector pointing to the 1st target point, and k is a scalar constant that is computed as shown in my previous post.

• 18
• 11
• 16
• 9
• 49
• Forum Statistics

• Total Topics
631395
• Total Posts
2999781
×