README
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:5k
- last updated 11/2/95
- BACKGROUND
- ----------
- Walker is a program I wrote with Kanishka Agarwal for our final project
- in our graphics class while we were at Harvey Mudd College. I did most
- of the viewing, UI, and internals, while Kanishka concentrated on the model.
- We both came up with different .cset (curve set) files which make the guy
- do various things. We spent dozens of minutes marching around the graphics
- lab trying to figure out just how people walk. It was not a rigorous effort.
- The program is for modeling human(oid) motion with forward kinetics.
- Forward kinetics basically means it does nothing cool for you with respect
- to how people really move, how articulated linkages move, or how gravity
- works. You must specify the angular displacement of each joint at each
- point in time. Also, our model only has 5 joints. AND each joint only
- has one degree of freedom.
- Okay, so enough about why it sucks; it is cool because you can put together
- some neat little animation sequences and it is fun to play with the curves
- and see immediate feedback. Plus you can spin the guy around really fast
- while he's running: if that's not the sign of a quality graphics program
- I don't know what is. And it illustrates how to do an app in GLUT with
- simultaneous 2D and 3D displays/interfaces.
- INSTRUCTIONS
- ------------
- Basically you've got two windows. One shows the guy; one shows the rotation
- curves. You know SGI demos: just click around with all three mouse buttons
- on anything that looks interesting and you'll figure it out.
- MORE INSTRUCTIONS
- -----------------
- All I can think of to add are keyboard commands. I have not used the program
- myself it several months and can't really remember how to use it. But it
- was easy I remember that. Here are keyboard commands you might have missed:
- In 3D window, viewer keys:
- 0-9 and +/- to change speed when in FLYING MODE
- (Careful use of flying mode and you can pretend the guy actually
- is moving as he's flailing his legs. Or, edit the program so it'll
- take another curve which isn't a rotation but a displacement.
- For BONUS POINTS: Have the program compute this based on the
- rotation curves of the three leg joints.)
- In 3D window, walker keys:
- f, F: step forward 1, 5 time step(s)
- b, B: step backward 1, 5 time step(s)
- spacebar: step forward one time step
- In 2D (curves) window:
- same as 3D window walker keys plus:
- 1-5: edit curve #1-5
- d: stop edit curves
- Remember, each of the three buttons in each window does something. I think.
- There are pop-up menus, I know that much.
- POINTERS
- --------
- We researched a number of sources before writing this, but I think our main
- reference was this book:
- Advanced Animation and Rendering Techniques - Theory and Practice
- Alan Watt, Mark Watt
- Addison-Wesley (ACM Press) 1992
- Whatever else we read we probably got from a citation in that book.
- But hey if it's on paper it's probably out of date, right? No, but
- try these anyway:
- http://www.cc.gatech.edu/gvu/animation/
- http://robotics.stanford.edu/users/kuffner/human.html
- http://market.net/literary/mkp/pages/1554/index.html
- DIRECTORY LISTING
- -----------------
- 483 May 15 04:05 Makefile
- 324 May 15 04:03 walker.h
- 28346 May 15 03:59 walker.c - most everything, callbacks for both windows
- (except AGV for the model window)
- 17601 May 15 04:00 models.c - models, wireframe, solid rectangles, and
- cylinders/spheres. Colors could use a little
- work! And you could plug in a totally
- different
- model and make that work too.
- 3435 May 12 16:19 walkviewer.h
- 13095 May 12 16:19 walkviewer.c - basically AGV (a GLUT viewer)
- 928 May 12 16:19 walking.cset - curves we did...
- 809 May 12 16:19 running.cset
- 762 May 12 16:19 bound.cset
- 978 May 12 16:19 moonwalk.cset
- 1177 May 12 16:19 dunk.cset
- 1236 May 12 16:19 reverse_dunk.cset
- 924 May 12 16:19 kick.cset
- 882 May 12 16:19 Impossible.cset
- 754 May 12 16:19 MrFlex.cset
- 767 May 12 16:19 Ouch.cset
- AUTHORS
- -------
- Kanishka Agarwal - whereabouts unknown
- (to me anyway, but I could track him down if need be)
- Philip Winston - pwinston@hmc.edu
- http://www.cs.hmc.edu/~pwinston/
- Email me your .cset files! (unless they're worse than ours)
- Also email me if you modify the program substantially or
- play with it as a means of procrastination. I'm just
- curious.
- Ran Libeskind-Hadas - hadas@cs.hmc.edu
- http://www.cs.hmc.edu/~hadas/
- (He didn't write any code, but he taught the class.
- Plus he's a cool guy.)