AlgoArt.org is a digital platform that brings together Artists and Technologists to create algorithmically generated visual designs and artworks. This repository contains a simplified and light-weight version of our Creator Studio that you can use to develop your own drawing algorithms and generate your own unique artworks!
Try out our public demo @ https://algoart.org/studio.html
Artwork Video
Talk & Tutorial
Drawing Algorithms: We designed a simple framework for creating drawing algorithms. These algorithms, coded in JavaScript, are built from procedural processes that draw lines and basic shapes onto an HTML Canvas. Our example procedural processes were inspired by mathematical concepts, natural phenomena, and artistic trends.
Algorithm Structure: Each algorithm has two JavaScript files. One file is for the drawing procedure and the other is for parameter configuration. The drawing procedure is declared as a dictionary object and includes functions called start, pause, reset, initialize, and drawOneStep.
Web Interface: The web interface is used to run your drawing algorithms. Using the web interface, a user can start, pause, or reset a drawing algorithm. In addition, a user can also clear the canvas and save the current state of the digital canvas as an image file.
Animation | Name | Author | Description |
---|---|---|---|
![]() |
Dots (algDots) | Michael Wehar | This is a sample drawing algorithm that is meant for viewers to understand the programming framework that is used to create a new drawing algorithm. We encourage you to clone our repo and try modifying this code to build your own drawing algorithm. If you do so, please consider sharing your resulting artworks with us and submit a pull request! |
![]() |
Geometric Patterns (algGP) | Michael Wehar | This drawing program takes in over 30 different parameters representing line length, line thickness, rotation angles, color variations, background color blending, line sparsity, and whether intersecting lines are allowed. Based on these parameters and a random number generator, the drawing program generates different kinds of repeated geometric patterns. All of the generated patterns are drawn line by line on a digital canvas. |
![]() |
Vines (algVines) | Alyssa Zhang | This algorithm, called "Vines", operates by drawing a variety of shapes across a canvas following certain kinds of paths. These paths that the vines follow are determined by various mathematical formulas. In particular, there are four kinds of paths: a random path, a linear path, a spiral path, and a path determined by a sine function. |
![]() |
Constellations (algCS) | Jhovani Gallardo Moreno | This algorithm, called "Constellations", reminds me of vivid memories of lying on the grass in the front yard, surrounded by my family, and looking up at the night sky. This was fresh in my mind so I decided to try to emulate constellations and create similar patterns. |
![]() |
Voronoi (algVD) | Jhovani Gallardo Moreno | From a top-down view, a set of plant cells arranged together side-by-side appears like a tiling of a plane. After reading about different methods that can be used to create intriguing patterns / tilings, I discovered Voronoi diagrams which were originally conceptualized by the mathematician Georgy Voronoy. This is what inspired the drawing algorithm called "Voronoi". |
![]() |
Collisions (algCL) | Omar Khan | I used to play a lot of video games which involved projectiles, and it was up to the player to track their trajectory and move accordingly. I always thought it would be easier if the paths of the ball could be drawn and varied. This motivation led me to develop the Collisions drawing algorithm. |
- Wrapping Paper by A. Zhang
- Geometric Patterns by M. Wehar
- Overlapping Tiles by M. Wehar
- Spiderwebs by M. Newman-Toker
- Vines by A. Zhang
- Fractals by M. Newman-Toker and M. Wehar
- 70's Funk by M. Wehar and A. Zhang
- Game of Life by J. Mancini and M. Wehar
- Trees by M. Wehar
- Spirals by L. Suresh
- Heat Map by V. Sumano
- Stickers by M. Wehar
- Composition by X. Dong and M. Wehar
- Collisions by O. Khan
- Constellations by J. Gallardo Moreno
- Voronoi by J. Gallardo Moreno
Academic Papers & Posters
- Creating Variation When Building Image Generation Datasets by J. Gallardo Moreno, O. Khan, and M. Wehar (Bridges 2025)
- Students Teaching Students Computer Art and Graphics by M. Wehar (Eurographics 2025)
- Creating Patterns with Distance Functions & Voronoi Diagrams by J. Gallardo Moreno and M. Wehar (I3D 2025)
Art Exhibitions
- Generative Clothing Designs (GCD) by AlgoArt (2025)
- AlgoArt @ Ludington Library (2023)
- AlgoArt Exhibition (2023)
More Articles & Presentations
- Generative Clothing Designs (GCD) by AlgoArt (Bridges 2024 - Fashion Show)
- AlgoArt - Nine Drawing Algorithms (Bridges 2023 - Short Film Festival)
- Using Augmented Reality to Show How An Artwork Was Created (SIGGRAPH DAC: SPARKS TALK 2023)
- Algorithmically Generated Visual Design (Lightning Talk @ CCSCNE 2023)
- Algorithmically Generated Artwork (Poster & Abstract CCSC:EA 2022)
- A Visualization of Algorithmically Generated Artwork (IFoRE 2022 - STEM Art and Film Festival)
- AI Generated Digital Painting from Start to Finish (Artificial Intelligence + Guest Blog)
Project Director
- Michael Wehar
Active Contributors
- Jhovani Gallardo Moreno
- Nicholas Baldev
- Omar Khan
- Patrick Tone
Past Contributors
- Lalith Suresh
- Victor Sumano
- EK Brickner
- Ryan Oet
- Xingyu (Kevin) Dong
- Xinxin Li
- John Mancini
- Maya Newman-Toker
- Alyssa Zhang
Special thanks to all friends and collaborators who offered help!
During Spring 2023, students from CS410 @ UMass Boston forked our repository and contributed to our open source project adding functionality for 3D Drawing Algorithms.
Project Links
- Forked Repository: https://github.com/devnamedjean/Drawing-Program
- Public Demo: https://devnamedjean.github.io/Drawing-Program/
Student Developers
- Jake Breen
- Jean Gerard
- Prateeksha Bhojaraj
- Richard Chang
Special thanks D. Haehn, S. Raikar, and to all of those who offered help!
The code in this repository is made available under MIT License.
This platform was developed using the following libraries which are available under MIT License.
We are excited to start collaborations and build new partnerships!
Send an email to Michael Wehar or submit a pull request.