I think it may be time. We’ve looked at angles, we’ve spun an object. It’s time for: *soh cah toa*. Yes, *soh cah toa*. This seemingly nonsensical word is actually the foundation for a lot of computer graphics work. A basic understanding of trigonometry is essential if you want to calculate an angle, figure out the distance between points, work with circles, arcs, or lines. And *soh cah toa* is a mnemonic device (albeit a somewhat absurd one) for what the trigonometric functions sine, cosine, and tangent mean.

: sine = opposite / hypotenuse*soh*: cosine = adjacent / hypotenuse*cah*: tangent = opposite / adjacent*toa*

Take a look at the above diagram again. There’s no need to memorize it, but make sure you feel comfortable with it. Draw it again yourself. Now let’s draw it a slightly different way:

See how we create a right triangle out of a vector? The vector arrow itself is the hypotenuse and the components of the vector (`x`

and `y`

) are the sides of the triangle. The angle is an additional means for specifying the vector’s direction (or “heading”).

Because the trigonometric functions allow us to establish a relationship between the components of a vector and its direction + magnitude, they will prove very useful throughout this course. We’ll begin by looking at an example that requires the tangent function.

This "Natural Simulations" course is a derivative of "The Nature of Code" by Daniel Shiffman, used under a Creative Commons Attribution-NonCommercial 3.0 Unported License.