You saw in lectures an example of an animated arm. This wasn't used to illustrate human animation; rather, it was intended to show you how to achieve hierarchical modelling in OpenGL. However, that code should prove helpful in developing your solution to this assignment.
For this assignment, you are to produce a ball-and-stick man (a 3D version of the sketch to the right) using OpenGL:
You do not have to make your stick man appear particularly realistic (!), but you should shade and light the model suitably.
Having produced the model, you are required to implement several specific interactions:
Note that this means the model can wave and walk at the same time
as you move the viewpoint around it. You should try to make the
walking motion appear human-like. (You are welcome to add further
features, such as being able to change the cadence of the walking, or
even a moonwalk; be
sure to print to the terminal window how to initiate any additional
interactions.) The important part of the assignment is the animation
rather than the modelling, so you should allocate your time
Your program may be written in any of C, C++, Java or Python and must run on the machines in the CSEE Computer Labs under Linux. If you use Java or Python, you need to discuss with the module supervisor any package you would like to use to wrap around OpenGL before writing your program.
Programs written in C, C++ or Java must have an associated Makefile to build the executable. When you upload your submission to the coursework server, you must also upload any Makefile and support files required — the intention is that one need type only
make ./ass2to compile and execute your assignment.
Your program should be well-structured and well-commented in accordance with good software engineering practice, and conform to the following style:
code is written in a structured way;
code is correctly indented to show structure;
use of blank lines and white space between code elements to aid readability and understanding;
comments are written in sentences (in English, please!) and explain algorithms as necessary;
lines are no longer than 80 characters.
Your program will be printed using the Linux command
enscript -E -G -j -MA4and this paper copy is what will be marked. You should ensure your code looks sensible in terms of line length and indentation when printed in this way. Feedback will be given using a mark-sheet similar to this one and with annotations on your listing. Please read through the accompanying criteria to see where marks are awarded. I am very happy to discuss these criteria with anyone as you work through the assignment.
|Submission deadline:||Monday 19th March 2012 at 11:59:59 (just before noon)|
|What to submit:|
|Marks returned:||two weeks|
|Marks breakdown:||according to these assessment criteria|
Remember to identify your work with your name (family name in UPPER CASE) and your registration number. The coursework system allows you to upload your work as often as you like, so do keep uploading your files as you develop them.
If you have any queries, please contact Adrian Clark, preferably by email.
© Adrian F. Clark 2011-12