Page 27: Last Page (rubric)
Spring 2026 Sample Solution
You have made it to the end of the second workbook!
This workbook has introduced you to Transformations, a key concept in Computer Graphics. We explored them in 2D. In the future, we’ll explore using Transformations in 3D; this includes using transformations to map a 3D scene to the 2D space of the screen. What you’ve learned here will come back.
Here’s how Gemini summarized the workbook (I added the last point):
Here is a concise summary of the key takeaways for students, based on the workbook’s content:
The Big Idea: Manipulating the “Graph Paper” The most critical concept is that transformations (translation, rotation, scale) are best understood as moving the coordinate system itself - shifting, spinning, or stretching the “graph paper” - rather than moving individual points. This intuition is the foundation for understanding why the order of operations matters and how complex, articulated objects (like robots) are built by chaining these coordinate moves together.
Key Takeaways:
- Coordinate Systems: Always think about transformations as modifying the “current” coordinate system. For example,
translatemoves the origin of the grid you are about to draw on. - Order Matters: Transformations are non-commutative. A rotate followed by a translate produces a different result than a translate followed by a rotate because each step alters the reference frame for the next.
- Hierarchical Modeling: Complex objects are built using parent-child relationships. A “child” part (like a propeller) inherits the coordinate transformations of its “parent” (the quadcopter body), allowing them to move together naturally.
- State Management: In Canvas, you must use
save()andrestore()to isolate transformations so that moving one object doesn’t accidentally move the next one you draw. - The Math: Under the hood, these 2D affine operations are represented as 3x3 matrices using homogeneous coordinates, which allows translation to be treated as a linear operation.
- Retained Mode API: we saw SVG, a retained mode API. It represents the scene graph explicitly.
Hopefully, you got here by going through every page and completing the work on it. The boxes are the most significant component. Here is a list of all the boxes, and whether or not you checked the checkbox. This way you can keep track of what you’ve completed. We will not look at these checks: they are for student convenience.
List of Boxes
| Box The box name links back to the box. | Check These checkboxes indicate whether you have checked the checkbox for the box. If you didn't check the box, go back to it, make sure the work is completed, and check it. | Tag (internal) This is our "internal code name" for the box. | Kind
Kinds of boxes: 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-06-01 | eg-flip | view | |
| 02-06-02 | ex-fill | view | |
| 02-06-03 | ex-range-scale | rubric | |
| 02-09-01 | eg-transformation-idea | view | |
| 02-09-02 | eg-parametric | view | |
| 02-09-03 | eg-transformations | view | |
| 02-09-04 | eg-repeat | view | |
| 02-09-05 | eg-convenient | view | |
| 02-09-06 | ex-fix | rubric | |
| 02-10-01 | eg-scale-translate | view | |
| 02-10-02 | eg-scale-center | view | |
| 02-10-03 | ex-grid | rubric | |
| 02-11-01 | eg-rotation-center | view | |
| 02-11-02 | eg-windmill | view | |
| 02-11-03 | eg-arm | view | |
| 02-12-01 | eg-arms-legs | view | |
| 02-13-01 | ex-quad-copter | rubric | |
| 02-20-01 | eg-matrix-combine | view | |
| 02-21-01 | ex-two-dots-sequence | rubric | |
| 02-21-02 | ex-two-dots-transform | rubric | |
| 02-21-03 | ex-two-dots-harder | rubric | |
| 02-21-04 | ex-convert-transform | rubric | |
| 02-21-05 | ex-shear | rubric | |
| 02-23-01 | eg-svg | view | |
| 02-23-02 | eg-svg-animation | view | |
| 02-23-03 | eg-svg-hierarchy | view | |
| 02-23-04 | eg-svg-hierarchy-animation | view | |
| 02-23-05 | eg-svg-group | view | |
| 02-24-01 | ex-svg | rubric | |
| 02-25-01 | mascot | rubric | |
| 02-26-01 | ex-boid | rubric |
Here is a list of all the box rubric items in this workbook. You should make sure that you have completed all the items you intend to do. They are checked off if you checked the checkbox. You should only check the boxes that you have completed.
Workbook Rubric
| Box The box name links back to the box. | These checkboxes indicate whether you have checked the box for the rubric item. If you didn't check the box, go back to it, make sure the work is completed, and then check the checkbox. | 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 |
|---|---|---|---|
| 02-05-01 | X | standard | Page 05 Items |
| 02-06-03 | X | standard | |
| 02-06-04 | X | standard | Convenient Coordinate System Type-ins |
| 02-09-06 | X | standard | triangle returns |
| 02-10-03 | X | standard | add transformations to make images look the same |
| 02-13-01 | X | standard | quadcopter has a front and 4 arms |
| 02-13-01 | X | standard | four attached propellers that spin |
| 02-13-01 | X | standard | propellers spin at different rates |
| 02-13-01 | X | standard | goes around a circle |
| 02-13-01 | X | standard | points forward while going around circle |
| 02-13-01 | X | advanced | multiple vehicles types (all must have spinning parts) |
| 02-13-01 | X | advanced | complex paths (at least one 'copter must be a circle) |
| 02-13-01 | X | creative | cool looking vehicles |
| 02-13-01 | X | creative | interaction (be sure to document) |
| 02-13-01 | X | creative | quadcopters do something beyond move in a path |
| 02-13-01 | X | creative | other articulated object |
| 02-18-01 | X | standard | Page 18 Items |
| 02-21-01 | X | standard | red dot stays in red corner and black dot stays in black corner as dots are dragged; square remains square; done via translate, rotate, and scale |
| 02-21-02 | X | standard | red dot stays in red corner and black dot stays in black corner as dots are dragged; square remains square; done via transform |
| 02-21-03 | X | standard | red dot stays in red corner and green dot stays in green corner as dots are dragged; square remains square |
| 02-21-04 | X | standard | parameters changed so that square 1 matches |
| 02-21-04 | X | standard | parameters changed so that square 2 matches (freebie!) |
| 02-21-04 | X | standard | parameters changed so that square 3 matches |
| 02-21-04 | X | standard | parameters changed so that square 4 matches |
| 02-21-04 | X | standard | parameters changed so that square 5 matches |
| 02-21-05 | X | standard | shear-x implemented to draw sheared squares |
| 02-24-01 | X | standard | a picture using SVG |
| 02-24-01 | X | standard | at least one path with an arc |
| 02-24-01 | X | standard | at least one polygon that is not a rectangle |
| 02-24-01 | X | standard | a hierarchy using grouping |
| 02-24-01 | X | standard | repeated instancing via use |
| 02-24-01 | X | creative | artistic merit (grader's discretion) |
| 02-25-01 | X | standard | Articulated thing (pieces, joints) |
| 02-25-01 | X | standard | Articulated motion |
| 02-25-01 | X | advanced | Character (multiple chains, ...) |
| 02-25-01 | X | creative | Creativity in character design or motion |
| 02-26-01 | X | creative | Creativity in boid design, motion, story, or user interaction |
Handing things in…
Please check one more time that your NetID is correct:
Please tell us how you used AI tools in doing this workbook. Remember, disclosing AI usage is part of the class policy on AI usage.
In the following type-ins you should give attributions for any included work. For example, if you took an image or model from the web.
Check that the local store is correctly written (and the json file moved to the correct location) - it probably changed after you filled in the AI Note and Attributions.
If you’ve done that, you are ready to submit your workbook!
Make sure to commit and push your work. Then press the “Submit” button to tell us that your assignment is ready for grading.
You are viewing the solution version of this page. Submission is disabled.
After pressing the Submit button, the File Status may say “The json file does not match the local store” because the submission time is now in the local store. You don’t have to worry about that.
If you’ve made something you are particularly proud of, we encourage you to submit it for the gallery.
Congratulations! You’ve completed Workbook 2.