Processing for Visual Artists
Computers offer us the opportunity to create powerful, meaningful visuals, animations, and interactive experiences. But to control this power one has to learn its ways: to get a computer to do what you want, you have to be able to communicate with it.
Learning how to communicate in a new way can be one of life’s great pleasures. Learning a new human language opens up a new world of literature and ideas. Learning to communicate with a dog is an intensely rewarding experience where both sides work together to form a common language. So it is with computers: to share our ideas with them and get them to do what we want, we have to learn to communicate in their language.
That’s called programming. A lot of people have worked hard to find the most flexible, sensible ways for people to program computers so that they can focus on their ideas, rather than on the mechanics. Some people have even focused on developing programming tools specifically for artists, designers, and animators. One of the best of these tools today is Processing.
Processing is a free, open-source project. It’s a computer language, a programming environment, and a bunch of libraries. You download the system onto your computer, and using the built-in text editor, you write programs to create images, animations, and interactive experiences. You can run those on your computer, or embed them in web pages.
Of course, you have to learn how write these programs, and that’s where this book comes in. My starting point is that you don’t about programming for its own sake; it’s just the tool you need to learn to get the computer to behave the way you want. So we don’t get into theory or math or any of that stuff, and instead we focus on the nuts and bolts of writing great programs that produce great visuals. We start at the very beginning, with an empty slate, and work our way up to expressing rich and complicated ideas.
The book takes a conversational, friendly tone. It’s loaded with tons of example programs, all of which can be downloaded and run on your computer. The book is full-color throughout, with hundreds of color figures.
Note that the code repository has moved since the book was first published; you can now download all the programs in the book for free here. And you can download Processing itself, for free, here.
Even more exciting, I’ve created an entire online course on making great stuff with Processing, which uses this book as a text. All you have to know to get started is how to use your web browser; I walk you through all the details from first installing Processing to mastering all it has to offer. But wait, there’s more! In addition to the book, the cheese slicer, the pickle shredder, the melon sculptor, the apple unraveler, and the potato inverter, there’s also a video course with dozens of clear, step-by-step videos! And the first half is free! The course contains dozens of videos, lots of handouts, and a ton of example programs that I wrote specifically to demonstrate these ideas using the very tools we’re learning. The course gets into everything the book gets into, but because the classes are all on video, I get to talk you through the ideas, and demonstrate them for you with live, running examples (which of course you’re free to download yourself). There are even videos where we start with a rough idea for a program, and then I show you how I start with some sketches on paper, then write a rough skeleton of the program, test it, catch and fix any mistakes, add to the skeleton, and so on. Eventually everything takes shape, and we’re written a cool program.
You’ll see that you don’t have to be a super-logical mathematician to write great programs. In fact, writing a great program merely takes the same kind of attention to detail and planning that goes into any kind of art, from a great painting to a great song. You start with an intuitive notion of what you’re after, and one piece at a time you bring that idea into focus, following your inspiration where it leads you. The first half of the class is completely free! Head over to The Imaginary Institute to start watching videos right away!
Here’s a table of contents of the book:
- Overview
- Setting Up and Getting Started
- Basic Ideas: Variables
- Functions and Tests
- Color
- Graphics Primitives
- Human Input
- Loops and Transparency
- Transformations
- Recursion
- Randomness and Arrays
- Catmull-Rom Curves
- Bezier Curves
- Objects
- Fall Leaves
- Images
- Working With Files
- Creating Patterns
- An Action Lamp
- Typography
- 3D
- Useful Odds and Ends
- Projects
- Big Projects
- Appendix: Keywords
- Index
You can buy the book at your favorite bookseller, such as Amazon.