Generative art encapsulates the balance between art and science. Through mathematical equations and physical systems, we can algorithmically generate mesmerizing visual patterns for pure aesthetics or scientific visualization. This five-day mini-course explores representative aspects of generative art and data visualization through in-class code examples. We will begin with traditional generative methods like fractals and chaotic attractors, then focus on pattern formation with the Voronoi diagram and physical systems, and finally survey some modern neural-network-inspired approaches. In addition, we will briefly introduce tools for rendering 3D scientific data in animation software, interactive coding, and 3D printing of your generated art.
(This mini-course is modeled from—and the sixth iteration of—the Generative Art Workshop, taught over MIT IAP from 2017 to 2022 by Drs. Emma Vargo, George Varnavides, Amina Matt, Jovana Andrejević and Nina Andrejević. We are grateful to all the previous MIT instructors for some original content to be used in the mini-course.)
Yue Sun, Jiayin Lu, Jovana Andrejević, and Nina Andrejević (Engage page instructors bio)
- Python tutorial (self-paced)
- Introduction and logistics (slides)
- Monday (1/9): Fractals, strange attractors
- Tuesday (1/10): Voronoi art, space-filling curves
- Wednesday (1/11): Elementary cellular automata, pattern formation in physical systems
- Thursday (1/12): Interactive flocking simulation, Python scripting in animation software
- Friday (1/13): 3D printing, generative art with neural networks
Contact the course staff at yuesun at g dot harvard dot edu
if you want to watch the Zoom recordings.
Hybrid location: Maxwell Dworkin 221 (in-person) and via Zoom (virtual)
Class times: 1/9-1/13/2023, 10am-12:30pm
We encourage you to share with the class your generative art work! You could upload your file to this shared Google Photo Album. Please tag your work with the corresponding class day, and add a short description to share with the class how you have created your work. You can also like other works in the gallery. Looking forward to your contribution!
- Be familiar with examples of generative art and their mathematical/physical formulation
- Learn to code functions and recursive algorithms to procedurally generate/animate art
- Use Python libraries and animation/modeling software to visualize 2D/3D scientific data
- ✨✨Have fun generating art!💻🎨
While there are many great programming and scripting languages to do generative art with, the class will be taught using Python. This choice is partly due to the following reasons (aside from the instructors' familiarity):
- Ease of prototyping (and learning) code
- Built-in (high-level) visualization functions
- The interactive Notebook format compliments the way we prototype and think of generative art
We will be using Google's Colaboratory to run Jupyter notebooks in Python. Google Colab is a cloud-based, free Jupyter notebook environment, and the notebooks can be downloaded if you prefer to run with a local Jupyter installation. All you need to use Google Colab is a Google account.
Click "Open in Colab" badge on the top of each .ipynb
notebook (no need to install anything for Python).
If you are running the notebook on Google Colab, please make a copy of the notebook to your drive:
- Click "Copy to Drive"
- Or navigate to "File -> Save a copy in Drive"
- Or navigate to "File -> Download" and save a local copy
Or else your changes in the playground mode will get lost after you close the page.
If you want to run the code examples locally, you need to install Python and Jupyter notebook environment locally. See README.md in the tutorials
folder for more details:
- Processing installation instructions
- Animation software installation instructions
- 3D printing software installation instructions
To enroll: Please fill out the Google Form by January 8, 2023
No enrollment capClass open to the public; all are welcome to enroll!You can sign up for as many or as few days as you wantTo preview some of the topics we will be covering, you can visit previous iterations of the Generative Art Workshop taught during MIT IAP 2017-2022