5 Computing Transformations with Matrices

 

This chapter covers

  • Writing a linear transformation as a matrix.
  • Multiplying matrices to compose and apply linear transformations.
  • Understanding linear functions accepting and outputting vectors of different dimensions.
  • Translating vectors in 2D or 3D with matrices.

In the culmination of Chapter 4, you learned quite a big idea: any linear transformation in 3D can be specified by just three vectors, or nine numbers total.  Rotation by any angle about any axis, reflection across any plane, projection onto any plane, or scaling by any factor in any direction: any of these can be achieved by the right selection of nine numbers.

We could describe a linear transformation as “rotation counterclockwise by 90 degrees about the z-axis,” or we could describe it using the right nine numbers.  Either way, we get an imaginary “machine” that behaves the same way: taking 3D vectors as inputs and producing rotated 3D vectors as outputs.  The implementations might be different, but the “machines” would produce indistinguishable results.

Figure 5.1  Two machines which do the same linear transformation.  One is powered by geometric reasoning, the other is powered by nine numbers.

5.1   Representing linear transformations with matrices

 
 

5.1.1   Writing vectors and linear transformations as matrices

 
 

5.1.2   Multiplying a matrix with a vector

 
 

5.1.3   Composing linear transformations by matrix multiplication

 
 

5.1.4   Implementing matrix multiplication

 
 

5.1.5   3D Animation with matrix transformations

 
 
 

5.1.6   Exercises

 

5.2   Interpreting matrices of different shapes

 
 
 

5.2.1   Column vectors as matrices

 

5.2.2   What pairs of matrices can be multiplied?

 
 

5.2.3   Viewing square and non-square matrices as vector functions

 
 
 

5.2.4   Projection as a linear map from 3D to 2D

 
 
 
 

5.2.5   Composing linear maps

 
 

5.2.6   Exercises

 

5.3   Translating vectors with matrices

 
 
 

5.3.1   Making plane translations linear

 
 
 

5.4   Summary

 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest