This repository contains standalone program to render digital art.
Checkout git commit on update to get a working reproducer, or look at demo-code reference implementation.
The duck set fractal, from this article
Flower seeds distribution representation based on this video
Multiplication table on a circle from this video
recaman.py melody representation on a circle
The lyapunov exponent of population growth using markus function to change the rate based on a binary seed, from wikipedia.
Sandpile fractal, from this video
Midi/Spectrogram based animation of iterated complex function fractal.
The general design is that each frame undergoes:
- Input procedures to collect raw data such as audio or midi events.
- Modulations procedures to normalize the raw data.
- Scene procedures to transform the modulation into rendering parameters.
- Output procedures to generate visualization.
This design evolved over time, here are some interesting milestones:
-
Using hylang is more ergonomic to write scenes:
-
Fragment shader can be written in the host language, mostly for elegance, hy2glsl example.
-
The modulation amount can be pre-computed so that for a scene, a modulation can be expressed as:
(scene "intro" end-value (move-seed 0 rhode))
where the amount of "rhode" will match the end value target,- Instead of
(update "trap1_offset" (* rhode 1e-1))
where the amount of "rhode" is picked arbritarily without an end value target.
underwater-fractal-creature.py
FFT and frequency band visualisation.