Unit 1

The course begins with a review of elementary geometry including points, coordinates, sizes and distances of objects, and vectors. After that students learn how to create planar (2D) shapes, how to extrude planar shapes to 3D by making prisms, and how to manipulate planar and 3D shapes using techniques of Constructive Solid Geometry (CSG). They learn how to translate (move) shapes in the XY plane and 3D space, split shapes, use symmetry (mirror shapes), erase parts of shapes, scale (stretch and shrink) shapes, and combine shapes using unions and intersections, and by subtracting them. At the end of this Unit students are able to create advanced 3D models based on prisms, including hollow 3D objects.

Section 1

• XY plane, X and Y axes, their orientation
• Coordinates of points in the XY plane
• Quadrants Q1, Q2, Q3 and Q4
• Constructive Solid Geometry (CSG)
• Make squares, rectangles and circles
• Assign colors to objects
• Display objects

Section 2

• Distance between points
• Width and height of planar objects
• 2D and 3D objects are sets of points
• Sets and basic set operations
• Make rings, arcs, triangles and quadrilaterals
• Display multiple objects together
• Create unions and intersections of objects
• Subtract objects

Section 3

• Size (diameter) of objects
• Distance between objects
• Area of planar objects
• Create regular polygons
• Make prisms based on squares, rectangles, regular polygons, circles, planar rings, triangles and quadrilaterals
• Combine multiple prisms to create a large variety of 3D objects
• Make hollow objects by subtracting prisms of different heights
• Eliminate random color mixing on overlapping surfaces
• Erase parts of planar and 3D objects
• Intersect 3D objects with planes parallel to the XY, XZ and YZ planes

Section 4

• Vectors in the XY plane
• Vector as the difference of two points
• Basic vector operations
• Move points and objects by adding vectors to them
• Combine X an Y translations

Section 5

• Split planar (2D) objects along lines parallel to the X and Y axes
• Split 3D objects along planes parallel to the XY, XZ and YZ planes
• Move (translate) objects in the Z direction
• Mirror planar objects about lines parallel to the X and Y axes
• Mirror 3D objects about planes parallel to the XY, XZ and YZ planes
• Scale (stretch and shrink) objects in the X, Y and Z directions

Unit 2

This Unit is dedicated to planar and spatial rotations. Students learn how to rotate 2D objects about given points in the XY plane, and practice their skills by building advanced 3D models based on prisms. Then they learn how to rotate 3D objects about the X, Y and Z axes and lines parallel to these axes. Finally, they learn how to create additional 3D shapes which are not prisms such as spheres, cones and toruses (tori). They practice their skills by building advanced 3D models which require full 3D rotations and translations, scaling, Boolean operations, and other advanced CSG techniques.

Section 6

• Rotate objects in the XY plane
• Positive and negative rotation
• Center of rotation inside the object
• Center of rotation on object’s boundary
• Center of rotation outside of object

Section 7

• Practice planar rotations and translations by building Tangram puzzles

Section 8

• Build 3D models which require planar rotations and translations
• Exploit axial and planar symmetry to simplify designs

Section 9

• Rotate and translate objects in the 3D space
• Right-hand rule
• Rotation center inside the object
• Rotation center on object’s boundary
• Rotation center outside of object

Section 10

• Create all important 3D shapes
• Build 3D models which require full 3D rotations and translations
• Exploit axial and planar symmetry to simplify designs

Unit 3 (Optional)

This Unit is optional. It covers selected advanced topics including special shapes, spirals, Bezier curves, rotational solids, shells and surfaces, and design automation through Python scripting.

Section 11

• Representation of curved surfaces with straight triangles (facets)
• Accuracy of surface representation, relation to memory and computing time
• Make computations faster by reducing the number of facets
• Create new objects by reducing the number of facets

Section 12

• Create spirals
• Make 3D models which include spirals

Section 13

• Defining Bezier curves (without math details)
• Rotational solids, shells and surfaces based on Bezier curves

Section 14

• Identify repeating patterns and exploit them to simplify models
• Python for-loop

Section 15

• Use Python for-loop to automate designs

Unit 4 (Capstone Project)

Students complete individual Capstone Projects.