Workbook 6, Page 8: Programming Task 1: Snowman

# Workbook 6, Page 8: Programming Task 1: Snowman

## Exercise: Snowman

Make a snowman using THREE!

You should make the snowman using THREE primitives. You can use spheres for the snowballs (the main parts of the body), a cone to make a carrot nose, a cylinder and a ring to make a top hat, ...

You'll need to make primitives (Spheres, Cones, ...) and use their transformations (position, scale, rotation) to assemble the snowman.

You can use simple materials of different colors (e.g., MeshPhongMaterial or MeshStandardMaterial). A white standard material won't look like snow, but it will be good enough for this assignment. Our goal is that you know how to apply materials to get different colors, not necessarily to make materials to get special effects (like snow).

The main point of the assignment is create a specific shape using THREE primitives.

At a minimum, your snowman must have a body, a head, eyes, and a nose. We were thinking of the "classic three-ball snowman" (see the Wikipedia page, for example), which gives enough parts (3 parts to the snowman, eyes, a nose, a mouth). You can add the hat and corncob pipe too. If you want to be more creative, make a regular snowman first, and then put another one next to it.

You do not need to animate your snowman. (you can as part of a "bonus point")

Please put in a piece of ground (it can be a flat box) that the snowman stands on.

We've given you a start in the file 8-Snowman.js (where you should put your drawing code).

For a bonus point, you can make an exceptionally interesting snowman. I'm not sure what this means, but you can be creative. Don't be too creative, since it still should look like a snowman, and you have to follow the assignment ground rules (below, but basically, you should just use the parts of THREE we have introduced, not the fancier features we haven't discussed yet). You can add animation as part of this. You can make the scene in which the Snowman stands be more interesting than just having it on the box.

Here's is a place to put the snowman (the code to modify is 8-Snowman.js). We have already loaded THREE and OrbitControls in this HTML file. (Please add OrbitControls to your picture). Note: we haven't given you much in this file. It's up to you to make the lights, camera, objects, etc. We just took care of the renderer.

Note: There is a second programming assignment on the next page (9). And the ground rules are listed the picture.

## Ground Rules for Workbook 6

For the programming assignment, we are going to ask you to make some pictures by writing programs that use THREE. We want you to focus on using the parts that we've discussed, not trying to show off that you can figure out the fancier features on your own. This is pretty limited because:

• Each primitive object gets one material (and therefore color).
• The primitive objects are solid colors (and not textured).
• We are only using the given "primitive" shapes (not making our own meshes).
• We aren't using reflections or shadows.
• We do not want you to add other object models (although, you can use the sample ones we provided).
• We aren't making our own new kinds of materials (by writing shaders).

You'll get to do all of these things later in the class. For now, you can be creative and make sure you understand how to put together the basic pieces.