Chapter 12 — Further Reading
Annotated pointers for going deeper on linear algebra in computer graphics — homogeneous coordinates, the transformation matrices, projection, and the rendering pipeline. Each entry says what to read and why it complements this chapter. Start with the graphics text if you want the full $4\times 4$ pipeline; start with 3Blue1Brown if you want the geometry animated.
Watch / play first (the geometry, in motion)
- 3Blue1Brown, Essence of Linear Algebra, Chapters 3–4 ("Linear transformations and matrices," "Matrix multiplication as composition") (free, YouTube). The animated foundation under this chapter: the columns-as-basis-images picture and composition as multiplication. Our model matrix $M = TRS$ is the composition Grant Sanderson animates, with homogeneous coordinates added so translation joins the party.
- The recurring
toolkit/visualizer.pyin this book — re-run it on $3\times 3$ homogeneous matrices restricted to their $2\times 2$ block to see rotation and scaling, then extend your own code to draw the wireframe cube of Figure 12.1. Typing a transform and looking is the fastest intuition-builder.
The graphics text (the full pipeline, done right)
- Steve Marschner & Peter Shirley, Fundamentals of Computer Graphics (4th ed.), chapters on "Transformation Matrices," "Viewing," and "The Graphics Pipeline." The canonical modern treatment of exactly this chapter at full depth: it builds the $3\times 3$ and $4\times 4$ homogeneous matrices on the same $2\times 2$ foundation we use, derives the orthographic and perspective projection matrices in complete form (including the depth remapping we only sketched), and lays out the model–view–projection pipeline rigorously. Best for: the complete, production-accurate version of everything here — read this next if graphics is your goal.
- Tomas Akenine-Möller, Eric Haines, et al., Real-Time Rendering (4th ed.), the transforms and projection chapters. The reference for how real engines implement and optimize the pipeline, including quaternions (the gimbal-lock fix we flagged), the precise perspective and orthographic matrices, and depth-buffer / z-fighting practicalities. Best for: practitioners who want the engineering reality behind the math.
Core linear-algebra textbooks (the standard references for this book)
- Gilbert Strang, Introduction to Linear Algebra (5th/6th ed.), §§7.1–7.2 on linear transformations and their matrices. Strang frames transformations and their matrix representations with his trademark column picture, and discusses projection matrices (which return in his least-squares chapters). Best for: connecting this chapter's transforms back to the column-space and projection ideas that dominate the rest of the book. His free MIT 18.06 video lectures on transformations are an excellent companion.
- Sheldon Axler, Linear Algebra Done Right (4th ed.), Chapter 3 ("Linear Maps") and the material on products/quotients of vector spaces. The rigorous, basis-centric counterpart. Axler does not cover graphics, but the affine-group structure of our Math-Major Sidebar (§12.2) is best understood with his clean treatment of linear maps and the distinction between linear and affine. Best for: math majors who want the projective/affine lift made precise.
- Stephen Boyd & Lieven Vandenberghe, Introduction to Applied Linear Algebra (VMLS) (free PDF), Chapters 7–8 ("Matrix examples," "Linear equations") and the geometry sections. The applied angle: matrices as operators that move and transform vectors, with the engineering framing that matches our application focus. Best for: CS/data-science readers who want transformations grounded in computation and real systems.
On specific topics in this chapter
- Homogeneous coordinates and projective geometry. For the mathematics beneath the trick — points at infinity, projective transformations, why cameras are projective maps — see any introduction to projective geometry, or the projective-geometry appendix in Hartley & Zisserman, Multiple View Geometry in Computer Vision, which treats the camera as a projective map in full. This is the rigorous home of §12.9.
- The camera/view matrix as an inverse. Marschner & Shirley's "Viewing" chapter and the "look-at" matrix derivation make precise why $V = C^{-1}$ (our §12.8); pair it with Chapter 9 of this book on inverses.
- Quaternions and 3D rotation (the gimbal-lock fix we deferred). Any Real-Time Rendering or game-math text covers quaternions; they live just past this book but solve the orientation problems §12.4's Warning flagged.
Free, interactive, and visual
- MIT 18.06 (Strang), OpenCourseWare — full free lecture videos and problem sets; geometry-forward, like this book.
- Scratchapixel (free, online) — "Computing the Pixel Coordinates of a 3D Point" and the perspective/orthographic projection lessons walk the exact pipeline of §12.7–§12.8 with code and diagrams, from first principles.
- WebGL / three.js documentation and tutorials — the model, view, and projection matrices in a real browser-based renderer; you can edit the matrices live and watch the scene respond, the ultimate "type a transform and look."
For the applications in this chapter
- Games (Case Study 1): the 3D math for games material for a game-development framing of model/view/projection matrices and scene graphs.
- CAD / engineering (Case Study 2): any parametric-CAD or engineering-graphics text on orthographic projection and standard views; the contrast with perspective is the conceptual core.
- Visualizing 3D data: 3D plots in Python — matplotlib's
mplot3dperforms the projection-to-screen math of this chapter under the hood to draw 3D axes, surfaces, and point clouds on a flat figure.
Where to go next in this book
Part II is complete. Chapter 13 (column space and null space) reveals that the orthographic projection which flattened our cube's depth is a map with a nontrivial null space — the formal study of "what a transformation reaches and destroys." Chapter 16 (change of basis) generalizes the camera's coordinate re-expression and the pivot-rotation sandwich. Chapter 21 brings the rotation matrices back as orthogonal matrices, and Chapters 17/19/32 bring projection back as the engine of least squares and PCA. And Chapter 39's capstone assembles your render3d.py builders into a working 3D wireframe renderer.