Applied Math for Creative Coders
  1. Math Models for Creative Coders
  2. Projects
  • Math Models for Creative Coders
    • Tools and Tech
      • Tools and Installation
      • Starting up Sound
      • Adding Libraries to p5.js
      • Using Constructor Objects in p5.js
      • The Open Sound Protocol
    • Maths
      • Complex Numbers
      • Vectors
      • Matrix Algebra Whirlwind Tour
      • Things at Right Angles
    • Systems
      • Frequency and Time Domains
      • Phasor Diagrams
      • Sampling And Aliasing
      • Fourier Series and Fourier Transform
      • Filters
      • Convolution
    • Geometry
      • Movement and Animation
      • Circles
      • Fractals
      • Affine Transformation Fractals
      • L-Systems
      • Kolams and Lusona
    • Media
      • Additive Sound Synthesis
      • FM based Sound Synthesis
      • Making Noise Predictably
      • The Karplus-Strong Guitar Algorithm
      • A Sound Glossary
    • AI
      • Working with Neural Nets
      • The Perceptron
      • The Multilayer Perceptron
      • MLPs and Backpropagation
      • Gradient Descent
      • AI by Hand
    • Projects
      • Projects

On this page

  • Introduction
  • Project #0: Make an ad for a wellknown logo
  • Project #1: Garden of Eden
  • Project #2: All good things begin with a Song
  • Project #3: King/Queen of the Mountain
  • Project #4: Sound Relationships
  • Project #5A and #5B: The 100-Acre Wood with Winnie the Pooh
    • Description
  • Project #6: Kagazi hai Pairhan
    • Description
  • Project #7: My Face is a Fourier Series
  • Project #8: Music by Hand-Waving
  • Project #X: Other Project Ideas
  1. Math Models for Creative Coders
  2. Projects

Projects

Author

Arvind V

Published

July 22, 2024

Modified

March 4, 2026

Introduction

Here are projects that we will contemplate creating at the end of the course. All the techniques, software, packages, theory, hardware…will be pieces aimed the realization of these projects. So we begin this course with the end in mind.

The projects below have been grouped into two groups, one for the junior students and the other senior students, who are both paradoxically in the same class. But there is an opinion that prerequisites are irrelevant.

Do not start with fundamentals. This is an awful approach to learning. Start with so-called “advanced” topics and ask questions until every term/concept is understood. This is the correct, rigorous, scientific way to learn, because the advanced topics are embedded in larger, more convoluted, more abstracted constructs. This embedding is what gives the individual pieces their meaning. Foundational studies have removed this embedding, and present only the isolated, sterile pieces. They have no meaning. They have no context.

Read the full tweet, and the discussion that follows at the link above.

Project #0: Make an ad for a wellknown logo

Description

  • Use the logo and split it up into the geometric pieces that make it up
  • Generate these pieces by transforming other well-known geometric shapes
  • Create an animated coming together of the logo using these basic shapes transforming and aligning into the logo

Project #1: Garden of Eden

Description

  • Use simple geometric shapes, fractals, L-Systems, symmetries, colours, and animations to build a garden
  • Create different types of biological creatures and non-biological structures
  • Can you mathematically mimic birth-and-death processes?
  • What about natural processes such as wind, rain, snow, or fire?

Project #2: All good things begin with a Song

Description

  • You will be , uh, given a set of very old Hindi Songs
  • You need to generate just the initial music leading up to the point where the singer starts singing
  • Use p5.sound and the sound synthesis techniques you have learnt to make this happen
  • Play special attention to timbre and spectral depth of the sound. It needs to sound like the instrument used in the actual song!
  • Besura? Grade = Grade - 1 !!

Project #3: King/Queen of the Mountain

Description

  • Each participant in the exhibit chooses whether they want to be on a mountain or in a valley, or in a grassland/meadow. More choices if you are up to it…volcano, anyone?
  • Their position within the space will be sensed. And they can move.
  • A terrain map will be projected, either on the ceiling, or the screen, or on the participants themselves, with each individual being located on a specific terrain feature type that they chose at the start.

Pieces

Project #3
Theory Tool Wait, but why?
Terrain Generation
  • p5.js/ Perlin Noise
  • Terrain!
Location Sensing
  • OSC protocol?
  • Arduino sensors?
  • Link p5.js to Arduino, need libraries for interfacing and data transfer
  • Give seed locations to Perlin Noise generator
  • Defines preferences of terrain feature based in identity
Projection
  • Project terrain map
  • Drive Projector using p5.js
  • Do we need projection mapping libraries?
  • Watch participants move and terrain follows them

Project #4: Sound Relationships

Description

  • The floor is divided into footprint-sized areas. Each area is mapped to a particular note in a musical scale, that can be selected. Multi-octave.
  • Participants are told of the mapping and given a smartphone. And they can play hopscotch or dance or move, in sync with other participants to create a jam session.
  • Can they make music / rhythms?
  • They are given headphones?

Pieces

Project #4
Theory Tool Wait, but why?
Sound Generation
  • p5.js with Sound/Music Libraries
  • Do any of these SuperCollider? PureData? Strudel? JukeBox AI? have a library for p5.js?
  • Instruments
  • Vocals?
Location Sensing
  • OSC protocol?
  • Arduino sensors?
  • Link p5.js to Arduino, need libraries for interfacing and data transfer
  • Just location sensing
Projection
  • Project Network and musical Note?
  • Drive Projector using p5.js
  • Do we need projection mapping libraries?
  • Network links must decay when participants are too far apart, or are silent…pauses in music

Project #5A and #5B: The 100-Acre Wood with Winnie the Pooh

Description

  • Create natural shapes / images / illustrations / characters based on kolams/ lu-sona / fractals / L-Systems and graphs.
  • A: Use grids, smoke, and mirrors to create laser diagrams in a table-top maze.
    • Pointer laser? Smoke? Agarbatti?
    • Movable mirrors ( 0/90 degrees only so black paper clips should work.)
    • Single Point of entry for laser.
    • Look from above through the smoke.
  • B: Viewers can draw their illustration on a large paper canvas to create a Hundred Acre Wood
    • Paper and Pencil / Colour / etc
    • Check with Code and replicate by hand.
    • Catalogue of Shapes is essential
    • Grid, Kolam Choice for shape, changes, innovation are possible

Pieces

Project #5
Theory Tool Wait, but why?
Shape Generation
  • p5.js
  • Grids + Mirror locations
  • L Systems with random user-chosen seeds - Catalogue of shapes to choose from? In software? Poster also.
  • Not too much code
  • Viewers can match their personality/choice and what is on the garden-wall already to decide on their Creature
  • Laser + Smoke to check the shape if it is a Kolam / Lu-Sona
Hardware
  • Smoke and Mirrors
  • Pointer Laser

Project #6: Kagazi hai Pairhan

“Naqsh fariyādī hai kis kī shoḳhi-e-tahrīr kā
Kāġhzī hai pairahan har paikar-e-tasvīr kā”

— Ghalib

Description

  • Dress/Clothing design with paper
  • Participants will turn and pirouette/turn about in front of a camera
  • Measurements will be taken and modelled using non-Euclidean geometry
  • Paper cutout diagrams which can be fabricated to “dress up” the viewer in paper.
  • Paper can have their favourite theorem or piece of text printed upon it!

Pieces

Theory Tool Wait, but why?
Measurements of Fixed Points on/from Camera Image
  • ml5.js Pose Detection?
  • Must get hold of Pose Detection Data and convert into “printed dress” pieces
  • Choice of Clothing??
  • Clothing Design
Math Model of Connecting Points with Hyperbolic Geometry Functions
  • Other ways than ml5.js??
  • Image to Geometry libraries?
  • Allow for fit and drape
  • Should not be too tight
  • “Extra” Cloth to stitch with
  • All paper must be A4?
  • Entire costume must be possible to carry in a file
  • Can be “Assembled any time with tape/ pins/clips

Project #7: My Face is a Fourier Series

See this:

https://gofigure.impara.ai/drawing/5711774133256192

  • People stand in front of camera
  • Detailed picture is taken. Profile preferable!
  • The code will generate a Fourier Series of their profile and present an animated version on the screen.
  • Reset and Play should be possible

Pieces

Theory Tool Wait, but why?
Measurements of Fixed Points on/from Camera Image
  • ml5.js?
  • Profile Detection and conversion to waveform
  • Capturing Profile “waveform”
Generating Fourier Series with Waveform + Animation
  • Math Library
  • Should be easily available
  • Animation

Project #8: Music by Hand-Waving

Project #X: Other Project Ideas

  • Link the IFTTT app to p5.js using for instance OSC messages, and make things happen over WiFi, from other classes or buildings
Back to top

License: CC BY-SA 2.0

Website made with ❤️ and Quarto, by Arvind V.

Hosted by Netlify .