SATURN V ASCII LAUNCH
01 // FULL VIDEO
I wanted a rocket launch playing every time I opened my terminal. That turned into a renderer: every frame of the Apollo 11 liftoff in NASA's Saturn V launch footage (public domain), redrawn as truecolor ASCII, one character per cell, matched on the shape of the light inside that cell. The video streams in 2MB chunks, so playback starts on the first chunk. The homepage terminal still runs the fastfetch splash this all started as.
READY
02 // HOW IT WORKS
Based on the shape-vector technique from Alex Harri's "Rendering ASCII Art".
1. SHAPE SAMPLING
Each cell in the source image is divided into 6 circular sampling regions (Harri, 2024). The average brightness inside each circle becomes one component of a 6-dimensional shape vector:
[s1, s2, s3, s4, s5, s6]
Two cells with the same average brightness get different vectors when the light sits in different corners of the cell. Average brightness alone cannot tell those two apart.
2. CHARACTER MATCHING
Every printable ASCII character (32-126) is pre-rendered to a bitmap and encoded as the same 6D vector, so both sides of the comparison are six numbers. The character sitting nearest the image cell in that space, by Euclidean distance, takes the cell (Harri, 2024).
Before the match runs, a directional comparison against neighboring cells sharpens the edges.
3. ANIMATION PIPELINE
Scroll: The viewport climbs the full-height ASCII image on a quadratic ease-in, so the first frames barely move and the last ones cover most of the distance.
Hold + Flicker: Then it stops, and the flame-masked cells do not: randomized character substitution and RGB jitter, every frame.
Dissipation: A wave front sweeps top-to-bottom, fading characters through smoke glyphs (. , ` ') to clear, while dimming RGB to black.