Computer Graphics

Computer graphics and vision are two directions on the exact same path: graphics turns numbers into an image, and vision turns an image back into numbers a program can reason about, and this entire topic is where the previous five topics converge on pixels specifically. An image, at the lowest level, is nothing more than the two-dimensional array the data-structures topic already covered, with each cell — a pixel — holding a handful of bytes that encode a color, the exact same kind of fixed-size numeric encoding the data-representation topic introduced early in this series. Geometry describes shapes and positions in space using the vectors and matrices the mathematics-for-computing topic worked through by hand: a 3D model is a collection of points connected into surfaces, and moving, rotating, or scaling that model is done by multiplying its points through a transformation matrix, the identical matrix-times-vector operation from that earlier topic, just repurposed to move a point through space instead of pushing a value through a neural network layer. Rendering is the process that turns a geometric scene into the actual grid of pixels a screen displays, and it is overwhelmingly the same calculation — figure out this pixel's color, given the scene — repeated independently for every single pixel on the screen, which is exactly the uniform, massively repeated workload the concurrency topic identified as a perfect fit for a GPU's thousands of simple cores running the same operation on different data at once. Image processing works in the opposite direction, starting from an existing image and transforming it: a filter like blurring or edge detection slides a small window across the pixel array and recomputes each pixel from its neighbors, the same sliding-window instinct a simple pattern-matching algorithm would use, applied directly to a grid of color values instead of a string of characters. Visual recognition is where the previous topic's neural networks meet this one directly: a convolutional neural network is trained, using the exact optimization process already covered, to recognize patterns in an image's pixel array — edges first, then shapes, then whole objects — layer by layer, which is precisely the "applying this network structure to images" that topic closed by promising. From a raw grid of bytes to a labeled object a program can act on, this entire pipeline — representation, geometry, rendering, processing, recognition — is built from nothing this series hasn't already introduced somewhere earlier, just aimed specifically at pixels, and the next topic, human-computer interaction, is what happens once a computer can both show something to a person and understand what it's looking at.

An image: a 2D array of pixels
each pixel a small, fixed-size color encoding
Geometry positions shapes in space
points moved by matrix transformations
Rendering turns the scene into pixels
the same per-pixel calculation, repeated millions of times on a GPU
Image processing transforms existing pixels
a filter recomputes each pixel from its neighbors
Visual recognition interprets the pixels
a trained neural network: edges, then shapes, then objects
An Image Is a Grid, a Shape Is a Matrix Multiply Two sides of the same series of ideas Image: pixel grid each cell: a few bytes of color Shape: points, transformed every point multiplied by a transform matrix a pixel grid and a transformation matrix are both exactly the arrays and matrix math this series already covered — just aimed specifically at pictures instead of general data
From a Filter to a Recognized Object Processing pixels, then a network interpreting what it sees Image processing: a sliding filter window recomputes the center pixel from its neighbors Visual recognition: layer by layer edges shapes object this is the same neural network and the same optimization from artificial intelligence, trained specifically on pixels raw bytes in, a labeled object out

Take computer graphics further

Ask the copilot about this term, or have our engineers assess it against your process.