CS 315 Homework 4 - Dancing Robot

Due Fri Oct 18 at 11:59pm

Overview

In this assignment, you will create an animated, 3D model of a humanoid robot. Upon the press of a button, the robot will "dance" by moving its arms and legs in a hopefully less than frantic manner.

An example of a robot mid-dance (from an alternative implementation). Your robot need not be quite this fancy.

By creating this robot, you will have a chance to practice working with 3D transformations in OpenGL, as well as transformation hierarchies (creating series of transformations that can be used to easily describe characters with a "connected" body). You will also have a chance to do some animation, as well as to revisit the Android interaction widgets (i.e., buttons) from previous assignments.

This assignment should be completed individually.

Objectives

Necessary Files

You will need to download and extract a copy of the starter code for this assignment. This project includes a basic GLES program to get you started--if you run the program you should be able to see a nice red cube spinning on the screen!

Be sure and read through the starter code; much of this is the same as the previous assignment and what we've gone over in class, but it has been refractored for readability (reduce time spent scrolling) and ease of use. There are also a few new pieces.

Note that the zip file also contains a README.txt file that you will need to fill out. DO FILL THIS OUT.

The Robot

Your robot will consist of several moving components: a torso, two two-segment arms, two two-segment legs, and a head. Each upper arm will draw in the reference frame of the torso, each lower arm in the reference frame of the corresponding upper arm, etc. Feel free to add additional components (e.g., "joints" to connect the segments, hands, etc)---but don't get bogged down!

Your robot will be built from copies of two basic primitive models (provided for you): cubes and spheres. Note that cubes can be scaled and stretched to turn them into rectangles, and spheres can be scaled to turn them into ellipsoids. You are welcome to add in other primitives as desired.

You will also need to program your robot to "dance" in place. This will involve creating a cyclical animation of the robot moving his arms and legs.

Details

Below are some further details about how this assignment should come together. Note that these instructions are less specific than previous ones--be sure to let me know if there are any problems so I can update the notes!

I suggest you complete this program in a few steps:

1. Create and display the Robot



Figures by Wayne O. Cochran

2. Adding animation

3. Animation Controls

Submitting

BEFORE YOU SUBMIT: make sure your code is fully functional, but also documented and readable. Again, grading will be based primarily on functionality. I cannot promise that I can find any errors in your code that keep it from running, so make sure it works. But I will look over your code to check your implementation, so please make sure that is readable :)

Upload your entire project (including all the src, resources, layouts, libraries, etc) to the Hwk4 submission folder on hedwig. Also include a filled-in copy of the README.txt file in your project directory!

The homework is due at the start of class on Fri, Oct 18. Late assignments will be considered most harshly.

Grading

This assignment will be graded based on approximately the following criteria: