Monday class
On Monday we introduced 2 link inverse kinematics.
The basic idea of IK is that you specify the position
of a joint at the end of a kinematic chain, and the computer
then does the work for you of figuring out how to
do all the intermediate rotations to position that joint.
This is in contrast to "forward kinematics",
in which you need to provide all of those
intermediate rotations yourself.
IK is extremely important both in robotics
and in character animation.
In this case we just showed in class a way to
implement the special case of 2-link IK.
We went over this in class, and implemented an example.
At the end of class we watched
The VR scene from Johnny English Strikes Again
Wednesday class
On Wednesday we built upon 2 link inverse kinematics,
used the mouse to track the wrist position of the arm,
and built a table to steer the preferred direction
of the elbow.
We also a head to the arm,
and arranged for the head to look at the moving wrist.
Homework
Due next Wednesday before the start of class
Start with the included code in
hw11.zip.
Create your own scene in a way that
makes use of inverse kinematics.
Here are some ideas:
-
Add the other arm.
Remember to reverse the sense of x
when using the aim table for the elbow direction.
-
Use Splines to create a predetermined
animated path for one or both hands.
Feel free to
try something that you came up with
to show that you can do animation
or other interesting things
with inverse kinematics,
if you feel inspired to do so.
For example,
you might create and animate a four legged creature,
or a desk lamp that feels alive and
likes to look at things, like in Luxo Jr.
Or you might want to try extending the
matrix library to add mAimX() and mAimY()
functions`,
Or you can
add a second argument to the mAimZ() function
in which you explicitly give a hint direction
for the X vector.
If I had added that, I could have kept the
head upright when I was using the mAimZ() function
to make the head look at the wrist in class.