Affiliate disclosure

Book titles on this page link to Amazon. As an Amazon Associate, DataField.Dev earns from qualifying purchases — at no additional cost to you.

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.py in 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)

Core linear-algebra textbooks (the standard references for this book)

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 mplot3d performs 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.