Programming Art


Mathematical Techniques for Artistic Coding


Inspired by real artists


Amber 🌸 Whitehead
math witch

Jun. 28, 2026

Amber 🌸 Whitehead

math witch

Danielle Navarro
  • PhD Univ. Adelaide
    Mathematical psychology
  • Works in pharmacometrics
  • R language
  • Author:
    Learning Statistics with R
    ggplot2: the book

data witch

Danielle Navarro
Silhouettes (2021)
License: CC0 1.0
Repository: djnavarro/series-silhouettes
Presented in part (1/63 images)

Night Tree 05 534

how do you make that background texture?

first you need randomness

White Noise
Pseudo-randomness at every pixel independently
unsafe translate
unsafe static
safe translate
safe static

simplified for graphing

value depends mostly on how you sample it

Perlin Noise
The only algorithm to win an Academy Award.
(Ken Perlin, Academy Award for Technical Achievement, 1997)

Tron, 1982.

Modern Successor
https://github.com/stegu/psrdnoise
tiling, gradients
psrdnoise
smooth noise
translate xy
translate z

basic idea of simplex noise

Fractal Brownian Motion
natural noise
translate xy
translate z

basic idea: f(f(f(p) + p))

Rejection Sampling
Use noise as prob. density function for accept/reject (whitenoise dither)
translate z
static
SDF Fiber
https://iquilezles.org/articles/distfunctions2d/
One Layer Fiber
Dense Fiber
Fiber Noise

colors points based on closest seed = Voronoi

The Pixels of Reality are not Square

Creative Programming

Tacoma Library, Wheelock Meeting Room

Tuesday, July 7, 2026

6:30p - 7:30pm

Short presentations about interesting code stuff.

I'll present an artist and a few of their art pieces then talk about some code related to the art.

You are also encouraged to present your own work.

The End
Danielle Navarro
Hearts, Sampled Unwisely (2020)
License: CC BY 4.0
Repository: djnavarro/series-heart-samples
Presented in part (1/11 images)

Heart 01 09
End of Slides