demo-render

Digital art

APACHE-2.0 License

Stars
7

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.

quack.py

The duck set fractal, from this article

flower-seeds.py

Flower seeds distribution representation based on this video

flower-seeds-gl.py flower-seeds flower-seeds flower-seeds

multiplication-on-a-circle.py

Multiplication table on a circle from this video

recaman.py melody representation on a circle

markus-lyapunov.py

The lyapunov exponent of population growth using markus function to change the rate based on a binary seed, from wikipedia.

sandpile.py

Sandpile fractal, from this video

animations

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.

livet-nediser.hy

orbital3.hy

marble-menger.hy

menger.py

underwater-fractal-creature.py

bulb.py

maintenance2.py

duna2.py

mozaic fall.py

kalygg.py

rokano.py

rosko.py

memosp2.py

oldchords.py

anvil.py

EoJ.py

inline.py

notre.py

dafP1.py

comptine.py

weightless-morning.py

maintenance.py

siouze.py

waldo.py

buttons.py

acidula-beat.py

fatou-v2.py

lmgg.py

lmgg2.py

lmgg3.py

gobansan.py

profondeur.py

ggb.py

duna.py

fatou.py

dirty-muffin.py

tounex.py

lm95p1.py

spectrogram.py

FFT and frequency band visualisation.