Isohypses
Maps of places that don't exist: contour lines over an imaginary relief, layer tints, a hatched sea, towns, and the cartouche of a survey sheet.
Read the code alea isohypses.alea --seed 0xa1ea03
0xa1ea03
an edition from the exhibition
This map was drawn by alea in your browser, a moment ago. Its seed names it: run the same program with the same seed and you get this exact map back, on any machine. Any other seed draws a country no one has seen.
Loading…
An alea program describes a family of artworks. Where you would write a number, you can write a distribution instead: ~between(0.25, 0.4) lets alea decide, once per edition. ~~ decides again at every point of the picture, and choose picks between whole structures.
Then you say what to make of it. The same work can render an image, a looping video, a sound, a sculpture to print in 3D, or a MIDI score that plays in your DAW. Works can use other works as parts, take a photo or a sound as input, and read from a pipe.
It is written for artists first: no setup to try it, plain words for its functions, and error messages that say how to fix the problem.
work Moon {
let moon = circle(size: ~between(0.25, 0.4)) // alea decides
let shade = move(moon, x: 0.08) // nudged right
render image(merge(clouds() * 0.25, cut(moon, shade)), palette: "night")
}
Five works, six editions each, as posted on Instagram @sudo.mp3. Each picture is named by its seed; the command beside each work draws its first one again.
Maps of places that don't exist: contour lines over an imaginary relief, layer tints, a hatched sea, towns, and the cartouche of a survey sheet.
Read the code alea isohypses.alea --seed 0xa1ea03
The moon over a sea at night, its path broken into glints by waves drawn in perspective.
Read the code alea nocturne.alea --seed 0xa1ea06
A rose window: panes from a noise field, lead drawn as contour lines, tracery folded into the window's symmetry.
Read the code alea rosace.alea --seed 0xa1ea0e
The plan of a metro for a Paris that was never built: the real city's grammar, a new network every edition.
Read the code alea correspondances.alea --seed 0xa1ea00
A petri dish: colonies seeded at random grow by reaction–diffusion, two kinds of life side by side.
Read the code alea culture.alea --seed 0xc00
A render video and a render sound in the same work give a film with its own soundtrack, both drawn from the same edition.
Nothing to install: the playground runs alea, with examples and the tour of the language.
brew install sudo-bngz/tap/alea
cargo install alea-lang
The latest release has alea for macOS, Linux and Windows, and the plugin for Ableton Live and other DAWs (VST3, CLAP).
alea isohypses.alea # one edition: isohypses-<seed>.png
alea isohypses.alea -n 6 # six editions
alea isohypses.alea --seed 0x2a # edition 0x2a, again
Then read the handbook: the guide, one idea per chapter, and the reference.