Page 13: Quadcopter Exercise
Spring 2026 Sample Solution
Note: this is not the last page. There is more in the workbook after this exercise.
Box 1: Exercise 4, Quadcopter
To try out hierarchical modeling and animation, you will make a quadcopter. Since we’re still doing 2D, we’ll make a top view. This is a hierarchical model: the quadcopter moves around (and turns) and has 4 propellers that stay attached, but spin around. You can make it fancier if you like. You can see examples from a previous class below.
Some requirements:
- Your quadcopter can be simple in shape, but it must have a front, and 4 arms that the rotors attach to.
- The propellers can be simple, but they must have an obvious center that they spin around.
- Your scene must have a quadcopter that travels in a circle and points forward as it goes around the circle. (Yes, real quadcopters do not need to face their direction of travel, but for this, the quadcopter has to face where it is going)
- The propellers must spin at different rates.
- Your quadcopter must be done using Canvas, and put into a Canvas element on this page. You can use the above canvas with id
canvas1on this page for it.
For your assignment, you need to make a quadcopter. If you want to make something else, you can make it in addition to the quadcopter. There are many other vehicles with spinning parts.
Your code must be in 02-13-01.html and
02-13-01.js
. We’ve given you the basics. You must use window.requestAnimationFrame correctly, including using the time parameter. You learned about this in previous workbooks, and the provided code should give you plenty of examples. You may use features of Canvas that we have not learned about in class yet, but you do not have to.
You can see examples of past assignments at 2023 Workbook 3 Gallery and 2022 Workbook 3 Gallery.
Beyond the Basics
The list above is for a complete assignment to get the basic items for this exercise. Basically, you need to make one quadcopter that moves in a circle with propellers that spin. The definition of “enough” advanced or creative features is at the discretion of the grader.
- Have multiple “copters” (vehicles with spinning parts): the copters need to be different in appearance or motion.
- Have quadcopters that fly in complex paths (at least one should still fly in a circle).
- Make cool looking quadcopters.
- Provide some kind of interaction (e.g., let the user fly a quadcopter with the keyboard). You can add controls to the HTML, or respond to events in the Canvas. If the user is supposed to do something, make sure that the HTML has instructions above the Canvas.
- Make the quadcopters “do something”. You could have people whom the quadcopter flies to and rescues - they could wave their arms to flag it down (more articulated motion!).
- Make other articulated objects in the scene that are animated to show off their articulations.
view - look at the box and experiment with it
examine - look at the code for the box
edit - change the box's content
rubric - several steps are suggested in the rubric page - form elements on page in rubric
02-13-01.html 02-13-01.js
| Kind
Kind of rubric items: standard - expected from all students advanced - used to get a better grade creative - an opportunity to do something creative levels - rubric item graded by selected achievement level optional - not required, but encouraged |
Description | |
| standard | quadcopter has a front and 4 arms | |
| standard | four attached propellers that spin | |
| standard | propellers spin at different rates | |
| standard | goes around a circle | |
| standard | points forward while going around circle | |
| advanced | multiple vehicles types (all must have spinning parts) | |
| advanced | complex paths (at least one 'copter must be a circle) | |
| creative | cool looking vehicles | |
| creative | interaction (be sure to document) | |
| creative | quadcopters do something beyond move in a path | |
| creative | other articulated object |
The grader might not recognize advanced features. You can describe what you’ve done in this type-in box to help them. Be sure to checkpoint your localstore and save it to a file!
Remember that the main learning goal of the assignment is hierarchical modeling using transformations with parts.
Also remember that advanced items are harder to get than regular items. Be sure to complete the basic items first to get the easy points before you move on to get the harder points.
Next: Page 14 - Transformations as Math vs. Code