Coding Art

A Guide to Unlocking Your Creativity with the Processing Language and p5.js
in Four Simple Steps

by Mathias Funk and Yu Zhang, December 2023.

Inside the book

In this book, we write about creative (computational) techniques that we have taught to hundreds of students over the years. We deliver what worked for them and what we believe will also work for the readers. You'll follow a real-world use case of computation art and see how it relates back to the four key pillars, and addresses potential pitfalls and challenges in the creative process. All code examples are presented in a fully integrated Processing example library, making it easy for readers to get started.

This unique and finely balanced approach between skill acquisition and the creative process and development makes Coding Art a functional reference book for both creative programming and the creative process for professors and students alike.

Our approach to coding art

We will review ideas and approaches from creative programming to different professional domains and start from the very basics of how to create visuals with a few lines of code. You will see that coding art is nothing scary -- the computer is a helpful tool that lets us generate visuals fast and with precision.

We use the Processing language and tools that are freely available online. They are extremely easy to use and let us go from idea to first working example in just a few pages. After the first steps, you will learn the skills needed to move from static elements to animation to interaction and how to use interactivity as input to bring creative concepts closer to refinement and depth.

The four steps

In this book, we work with four steps. The first one is about turning ideas into simple visuals similar to sketching on paper before starting to draw a painting. The second part part shows how structure can help realize more and more complex works. We simplify and extend the design of aesthetics, rhythms, and smoothness with data structures.

The third step is about breaking up the order that we have created earlier and letting the computer add bits of randomness and out of control bits. This allows us to add depth and variation to the computer generated output. Finally, the fourth step shows how to produce high-quality results with Processing. It could mean rendering high resolution graphics, or preparing an interactive artwork for presentation or use in another location. Lots of interesting tips and tricks can be found here.

From a case to diving into p5.js

The second part of the book shows you how the four steps can be used in a real project, one-by-one and also jumping between the steps if necessary. You will understand the end-to-end process of computation art through this real world use case. In this case, MOUNTHROTHKO we work with computational tools like the Processing language from idea to final production outcome. We use interactivity as input to bring creative concepts closer to refinement and depth.

In the second edition, we have added two entirely new chapters on p5.js: starting with a few inspirations on generative art, we show you how to make use of the four steps and create a series of static and interactive pieces. In chapter 8, we take on a whole new challenge: creating experiences on mobile devices with acceleration and device orientation. We use p5.js for both chapters; this is how you make generative art interactive amd on the web.

Continuing the learning path

Finally, in the last part of the book, we talk about the creative process. What it means to start from scratch, staring at a blank page or screen. We show you how to get started by exploring technology and working with technology as a material. Together, we will study best practices, common pitfalls, and challenges of the creative process. We will also explain how you can go beyond the book and continue on your own learning path -- guided by your own interests, and how you can find help and create something together with others.


Newsletter

Sign up and we will notify you once there are news about Coding Art.

We collect this email address to inform about what's happening in Coding Art. Your email address will not be shared with third parties, and you can always contact us to unsubscribe.