*In which you learn three ways in which objects can be shifted, stretched, and spun.*

The renderers that you've built so far have been static. The shapes you've drawn are stuck to their original coordinates. If you want your renderers to feel interactive or tell animated stories, you need some way of making your objects move.

Operations that change the spatial properties of an object are called transformations. Most graphical applications support just three fundamental transformations:

- rotation, which spins an object around a pivot point
- scaling, which enlarges or shrinks an object around a pivot point
- translation, which shifts an object

Before you learn how these are implemented, first develop a visceral feel for their behaviors and parameters by fiddling with this renderer:

Ask yourself some questions as you explore. Here are a few to get you started:

- What happens if a translated triangle goes offscreen?
- In what direction does a positive rotation spin the object?
- What happens when you scale by a negative factor?

In this renderer, only one type of transformation may be applied at a time. Soon your shapes will run through a gauntlet of scales, rotations, and translations before they are drawn in the framebuffer.

Additionally, these transformations are strictly two-dimensional. You'll extend these into three dimensions in due time.