## Quiz #1 details - For January 22nd

### Updated 16 January

This is a closed-book quiz with a tight 45 minute limit.

The topics covered are detailed below, various aspects of vectors and linear transformations in 2D (matrices). (Based on Shirley, 1st edition.) You will find discussions of these topics in many books on computer graphics. Check the Reserve books for the course or other books in the library. Below are the sections of your textbook that are relevant and the particular things you'll need to be able to do on the quiz.

• 2.3.1 Yes, there are degrees and radians.
• 2.3.2 The basic trig functions, e.g., sinφ = o/h, referring to Fig. 2.7. Skip eqs. 2.2.
• 2.3.3 Only the most trivial identities: That sin is odd, cos is even and sin2A + cos2A = 1. You should know that values of sin φ and cos φ for φ =  ±π/4, ±π/2, ±π3/4, etc.
• 2.4 A bit more needed for this section, primarily addition, subtraction, the dot (inner) product but not the cross product.
• 2.4.1 The vector operations. I like to think of subtraction a - b as the addition of (-b), the vector oriented in the opposite direction to b.
• 2.4.2 The Cartesian coordinates of a vector. You'll use this all the time, e.g., in dot and cross products, transforms, etc. Simply that a = xax + yay.
• 2.4.3 Dot product, ab. It's a scalar with magnitude |a||b| cosφ. And remember the basic form in Cartesian coordinates: ab = xaxb + yayb.
• 2.4.3 The cross product - skip for this quiz. But you will need to know it later, because it is important, especially in the treatment of surfaces.
• Chapter 3. Not on the quiz. We'll return to it soon.
• Chapter 4. There's very little you need to remember here. The things that will come up in Chapter 5 about transforms are that matrices don't always commute, so it is sometimes the case that AB ≠ BA. Also, when operating, for example, on a vector (a point) p with more than one matrix, e.g., ABp, B is applied first to p, then A is applied to the result. Alternatively, we could compute the AB product, in that order, and apply the result to p.
• 5.1 Shows you multiplication of a 2x2 matrix times a 2x1 column vector on the right. (Sec. 4.2.1 might also help you here.) Basically, to form the ij-th element of the result you step across the i-th row in the left factor and down the j-th column of the right factor, summing to get the ij-th element of the result. Works for a matrix times a vector and for the product of two matrices. Since we'll be incorporating translations into all this (Sec. 5.3), many of the things you'll have to deal with in 2 dimensions will involve 3x3 matrices and 3x1 vectors.
• 5.1.1 Scaling is simple enough.
• 5.1.2 (You can skip this little section on shearing.)
• 5.1.3 Rotation is an important transform. You should memorize the form of the matrix rotate(φ) on page 89 and be able to figure out what its elements are for the simple angles I mentioned earlier. You should be able to compute a rotated vector using it as well as combining it with other vectors.
• 5.1.4 (You can skip this little section on reflection.)
• 5.1.5 Composition of transforms. Quite important. Order is important! You should certainly be able to compute a compound scaling on rotation transform as RS or SR and show that they result in different matrices and that they "do the right thing" when applied to a simple example.
• 5.1.6 (We are skipping this section.)
• 5.2 (We are skipping 3D transforms for now.)
• 5.3 Translation is important (and ingeniously done). Be sure to do a few examples so you are sure how it works. The rotation and scaling transforms can be written using homogeneous coordinates so they can be used with translations, in the following forms, where sx and sy are the scale factors and s==sin(φ) and c==cos(φ):
```
|sx  0  0|
|        |
S = |0   sy 0|
|        |
|0   0  1|

|c  -s  0|
|        |
R = |s   c  0|
|        |
|0   0  1|
```
• The rest of Chapter 5: 5.3.1, 5.4 and 5.5 will be skipped for now.
That's it. Any questions, just email me.