Last chapter you moved one point along a curve. But a spaceship is a thousand points. A character is fifty thousand. You are not going to hand-move each one — you build a machine that moves them all the same way. That machine is a matrix, and it's smaller than you think: two arrows.
press play — 90 seconds ↓Plays like the video — one caption at a time, the picture animating under it — and it pauses when it's your turn. Skip around with the dots or arrow keys. The full lab comes after.
Every point in the ship is built from two ingredient arrows:
î (one step right) and ĵ (one step up). The wingtip
p = (1.5, 0.8) literally means 1.5·î + 0.8·ĵ. So here's the whole trick:
move î and ĵ, keep the recipe. Every point re-follows its own recipe with the
new arrows, and the entire grid — ship and all — transforms in lockstep. Drag the arrow tips.
Some arrow-positions are so useful they have names. Rotate swings both arrows by θ. Scale stretches them. Shear tilts one. And translate… is the odd one out — sliding every point isn't something two arrows can do, so we cheat with a third row and column. Pick a machine, drag its slider, and watch the matrix become the motion.
Two machines, same settings — rotate by θ, translate by d — chained in opposite order. Left: rotate FIRST, then translate (written T·R). Right: translate FIRST, then rotate (written R·T). Same ingredients, wildly different landing spot: rotating after translating swings the whole offset around the origin. Hit step to watch each pipeline one stage at a time.
Open any engine's vertex shader and you'll find this exact line. Three machines, chained. You now read it fluently — and you know the order isn't an accident.
Read right-to-left: position → world → camera → screen. Chapter 04 shows WHY a GPU runs this millions of times in parallel.
scale(−1, 1) —
î lands on the negative x-axis and the whole sprite mirrors. Engines flip millions of sprites
with a sign bit.The exact machine from this chapter, in true 3D: push the crate around with game-style controls and read its real 4×4 world matrix — the same numbers Blender shows in its N-panel and the same uModelMatrix the shader multiplies by. The ghost crate is the identity matrix, staying home.
Click any moment on the right — it takes you straight there (in place when this site is served over http, on YouTube when opened as a local file).