I wanted that classic "data visualization of a portrait" look β a face rendered in horizontal lines, like an old plotter drawing β but with lines that actually follow the contours of the face instead of just scanning across.
The first version was too rigid. Straight horizontal bars in a grid. It worked, but felt dead. The reference I was chasing had this organic quality where shapes seemed to flow around features.
The fix was small. Instead of fixed horizontal lines, I sample the image gradient at each pointβbasically asking "which way does the brightness change here?" Then I rotate each shape perpendicular to that. Where there's a strong edge, like the rim of a nose or the curve of a cheek, I switch from bars to dots.
Pink dots mark the edges and blue bars fill everything else, so the pink gathers where the geometry changes β the nose, the brow, the jaw.
In motion it turns hypnotic: as the sculpture rotates, the dots migrate along the contours frame by frame.
Getting the settings right took iteration. Too sensitive and you get noise everywhere. Not sensitive enough and you lose the contour-following effect entirely. There's also a balance between filling in bright areas (the sculpture is white marble) and keeping the background clean.
The elliptical crop happened by accidentβI was testing with Instagram's portrait format and the oval mask just felt right. It frames the subject and hides the messy edges where the effect breaks down.
What I like most is how it reveals structure: the rotating head reads as ridges and valleys rather than eyes and a nose.
Source Material
Here's the original video I used as input: