Lab: Matrix Transformations

How to 3D

Chapter 4: Transformation Machinery

Lab: Matrix Transformations

In this chapter, you've been learning how to transform models with matrices. We'll continue that learning with an

Form a group of no more than three people.

Transformula

Your first challenge is to use Transformula to complete this worksheet on transformations.

Saguaro

Your second challenge is to model, load, and render a saguaro model transformed by matrices. Follow these steps:

Host, open your top-level repository directory in Visual Studio Code and run npm run dev to start up a web server. Then open the command palette via View / Command Palette and enter Live Share: Start Collaboration Session. Share the link with your group.
Clone your torus renderer to make a saguaro renderer.
Model a quick saguaro cactus in Blender. There are many ways to do this. Consider using box modeling with only loop cuts and extrusion.
Round off the boxy cactus by adding a subdivision surface modifier.
In Vertex Paint mode, apply color to the vertices.
Get the color to export correctly by incorporating the color attribute in Blender's shader. Click Shading in the top menu bar. In the node-based Shader Editor window, hit Shift-A and select Input / Color Attribute. Drag the Color output of the Color Attribute node to the Base Color input of the Principled BSDF node. In the Color Attribute node's attribute picker, select your color attribute, which is probably named Attribute. Click Layout in the top menu bar to return to the normal interface.
Export the saguaro as a glTF file in your renderer folder.
Render the colored saguaro model.
Render small versions of the saguaro at the tips of the base saguaro, making a recursive saguaro.
Rotate the saguaro assembly around the y-axis with the arrow keys.
Non-host, download the saguaro folders before the host closes the session.

Submission

To receive credit for your lab work, follow these steps:

Share a video of your spinning cactus in a post in the #lab channel in Discord. No voiceover is necessary. Tag your group members with @.
Push your code to your individual GitHub repository that your instructor made for you.

Only labs submitted on time will be granted credit. Late labs or forgot-to-submits are not accepted because Monday at noon is when your instructor has time to grade.

← Lecture: Matrix Transformations