README
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:5k
源码类别:

GIS编程

开发平台:

Visual C++

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