Project 2023
Project 2023
Project
Due: The 13th week of the semester, to present during the presentation session, which will be
announced during lecture or on eLeap.
There are four proposed projects, and your team is to select only ONE. Each of the project
differs in terms of its complexity and maximum marks.
Use OpenGL to construct your 2D and 3D model from cylinders and/or ellipsoids. The model
need not be anatomically accurate but each body/limbs/legs/fingers should have at least TWO
joints and limit the angles at each joint within reasonable ranges to ensure that the satellite
parts/branches/hands/legs/fingers are bend in a natural ways. Even though your model may not
be anatomically accurate, you need to make it appear more realistic including the movements,
texture, shading and animation.
Placed your model in a scene. Use texture to make surfaces appear realistic. You are to
implement and animate free roaming camera to nicely capture the simulated 3D model by
enabling the automatic animation. Include lighting to give the model a 3D feel. You may add
keyboard input ‘esc’ to quit and ‘p’ to pause/resume the animation.
For Option 1, you are to animate a smooth simulation of a complete solar system, whereby the
earth is rotating around the sun, the moon’s orbital rotation state around the earth, all the other 8
planets’ orbital rotation states around the sub, and earth axial rotation state. Include a 3D satellite
orbiting earth.
For Option 2, you are to improve the humanoid you did during the lab to make it look like any
Pokemon then animate the created Pokemon’s movements such as jumping and dodging. You
are to throw a Poke Ball to try and capture the Pokemon. The ‘throw’ in your project is by
clicking on the mouse or use ‘space bar’ keyboard. You need to throw the Poke Ball directly to
the Pokemon. You can also animate the capture of the Pokemon into the PokeBall.
For Option 3, you are create a garden in a 3D environment, placing a variety of pictures, create
different flowers, grass, etc using polygons (2D and 3D). Then create an animal (it could be a
fox, cat, dog, or bird) moving around the garden. The scene should be fully textured and lit. It
would be great if you can also animate a brief shower rain and use keyboard to control the
weather.
As for Option 4, you are to simulate the pressed piano keyboards. You may not need to have a
full-88 keyboard but at least 20 keyboards. Select at least 10 piano keyboards, and link each key
pressed to a sound.
Part of your grade will be based on your giving a short demo in the Computer Graphics
Laboratory. You will be expected to talk about how your program works and how well your
program performs. Then submit your program’s source code electronically to Morpheus. Please
name your file: [MatrixNo_MatrixNo].cpp
e.g. if the first student matrix no is 123 and the second student matrix no is 456, then name your
file: 123_456.cpp
Assessment
Marks will be awarded based on the quality of the implemented features. Note that marks may be
deducted for other reasons, e.g. if your code is too messy or inefficient, is not well commented,
etc. For code that does not compile, does not work or for programs that crash, the most you can
get is half the marks.