Books. Processing books cover topics from programming basics to visualization. Browse this page to find the right books for you.

Getting Started with Processing

Getting Started with Processing
Casey Reas and Ben Fry.
Published June 2010, O'Reilly Media. 208 pages. Paperback.
» Order Print/EBook from O'Reilly
» Order Print from Amazon.com
This casual, inexpensive book is a concise introduction to Processing and interactive computer graphics. Written by the founders of Processing, it takes you through the learning process one step at a time to help you grasp core programming concepts. You'll learn how to sketch with code -- creating a program with a few lines of code, observing the result, and then adding to it. It was written to help reader:

  • Quickly learn programming basics, from variables to objects
  • Understand the fundamentals of computer graphics
  • Get acquainted with the Processing software development environment
  • Create interactive graphics with easy-to-follow projects
  • Use the Arduino open source prototyping platform to control your Processing graphics

 

 

Processing: A Programming Handbook for Visual Designers and Artists

Processing: A Programming Handbook
for Visual Designers and Artists

Casey Reas and Ben Fry (Foreword by John Maeda).
Published August 2007, MIT Press. 736 pages. Hardcover.
» Order from Amazon.comProcessing: A Programming Handbook for Visual Designers and Artists
Downloads:
Table of Contents and Index (PDF, 500 KB)
Sample Chapters with Contents and Index (PDF, 7.6 MB)
All code examples in the book (ZIP, 24 MB)
Errata (Updated 8 January 2014)

This book is an introduction to the ideas of computer programming within the context of the visual arts. It targets an audience of computer-savvy individuals who are interested in creating interactive and visual work through writing software but have little or no prior experience. It is the result of six years of software development and teaching experience. The ideas presented have been continually tested in the classrooms, computer labs, basements of universities, art and design schools, and arts institutions.

The majority of the book is divided into tutorial units discussing specific elements of software and how they relate to the arts. These units introduce the syntax and concepts of software such as variables, functions, and object-oriented programming. They cover topics such as photography and drawing in relation to software. These units feature many short, prototypical example programs with related images and explanation. More advanced professional projects from diverse domains including animation, performance, and typography are discussed in interviews with their creators. The extension sections present concise introductions to further domains of exploration including computer vision, sound, and electronics.

Essays by Alexander R. Galloway, Golan Levin, R. Luke DuBois, Simon Greenwold, Francis Li, and Hernando Barragan.

Interviews with Jared Tarbell, Martin Wattenberg, James Paterson, Erik van Blockland, Ed Burton, Josh On, Jeurg Lehni, Auriea Harvey and Michael Samyn, Mathew Cullen and Grady Hall, Bob Sabiston, Jennifer Steinkamp, Ruth Jarman and Joseph Gerhardt, Sue Costabile, Chris Csikszentmihalyi, Golan Levin and Zachary Lieberman, and Mark Hansen.

If you are an educator, you can request a desk/exam copy from the MIT Press website. It's also possible to request a PDF preview.

 

 

Visualizing Data Visualizing Data
Ben Fry.
Published December 2007, O'Reilly. 384 pages. Paperback.
» Order from Amazon.com
The O'Reilly website says, "How you can take advantage of data that you might otherwise never use? With the help of a powerful new programming environment [Processing], this book helps you represent data accurately on the Web and elsewhere, complete with user interaction, animation, and more. You'll learn basic visualization principles, how to choose the right kind of display for your purposes, and how to provide interactive features to design entire interfaces around large, complex data sets."

Martin Wattenberg from the IBM Watson Research Center says, "This wonderfully detailed guide, by one of the masters of modern data graphics, tells you everything you need to know to code your own visualizations from scratch. Perhaps most valuable are the many examples where Fry demonstrates how to refine a bare-bones concept into a beautiful, effective finished piece. Read this book, and you'll never again be dependent on someone else's view of your data."

 

 

The Nature of Code: Simulating Natural Systems with Processing The Nature of Code: Simulating Natural Systems with Processing
Daniel Shiffman.
Published December 2012. PDF, Web, Paperback.
» Order from Amazon.com
Visit the Nature of Code website.

How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts in mathematics and physics to more advanced algorithms that enable sophisticated visual results. Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms.

 

 

Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
Daniel Shiffman.
Published August 2008, Morgan Kaufmann. 450 pages. Paperback.
» Order from Amazon.com
Visit the Learning Processing website.

Dan Shiffman says, "This book tells a story. It's a story of liberation, of taking the first steps towards understanding the foundations of computing, writing your own code, and creating your own media without the bonds of existing software tools. This story is not reserved for computer scientists and engineers. This story is for you."

The publisher says, "This book teaches you the basic building blocks of programming needed to create cutting-edge graphics applications including interactive art, live video processing, and data visualization. A unique lab-style manual, the book gives graphic and web designers, artists, and illustrators of all stripes a jumpstart on working with the Processing programming environment by providing instruction on the basic principles of the language, followed by careful explanations of select advanced techniques."

 

 

Generative Design Generative Design
Hartmut Bohnacker, Benedikt Gross, Julia Laub, and Claudius Lazzeroni.
August 2012, Princeton Architectural Press. 472 pages.
Originally published in German November 2009, Schmidt Hermann Verlag. 500 pages.
» Order from Amazon.com
This book is extraordinary; the design is clear and the production quality is fantastic. This is the design book about Processing that we've hoped for. Unlike most other Processing books, it doesn't discuss programming basics so it's free to start with exciting examples. The publisher promotes, "Generative design is a revolutionary new method of creating artwork, models, and animations from sets of rules, or algorithms. By using accessible programming languages such as Processing, artists and designers are producing extravagant, crystalline structures that can form the basis of anything from patterned textiles and typography to lighting, scientific diagrams, sculptures, films, and even fantastical buildings. Opening with a gallery of thirty-five illustrated case studies, Generative Design takes users through specific, practical instructions on how to create their own visual experiments by combining simple-to-use programming codes with basic design principles. A detailed handbook of advanced strategies provides visual artists with all the tools to achieve proficiency. Both a how-to manual and a showcase for recent work in this exciting new field, Generative Design is the definitive study and reference book that designers have been waiting for."

More information about buying this book in German, as well as the complete source code for the examples, are at the book's website.

 

 

Processing: Creative Coding and Generative Art in Processing 2

Processing: Creative Coding and Generative Art in Processing 2
Ira Greenberg, Dianna Xu, Deepak Kumar.
Published April 2013, friends of ED. 472 pages. Paperback.
» Order Print from Apress
» Order from Amazon.com
The authors write, "If you’ve been curious about coding, but the thought of it also makes you nervous, this book is for you; if you consider yourself a creative person, maybe worried programming is too non-creative, this book is also for you; if you want to learn about the latest Processing 2.0 language release and also start making beautiful code art, this book is also definitely for you. Based on research funded by the National Science Foundation, this book brings together some of the most engaging and successful approaches from the digital arts and computer science classrooms:

  • Learn the latest features of Processing 2.0
  • Gain a solid understanding of coding concepts, such as design, analysis, and object-oriented programming
  • Generate algorithmic art
  • Code 2D and 3D interactive animations
  • Create a visualization based on big data"

 

 

Processing for Visual Artists: How to Create Expressive Images and Interactive Art Processing for Visual Artists: How to Create Expressive Images and Interactive Art
Andrew S. Glassner.
Published August 2010, A K Peters. Paperback.
» Order from Amazon.com
The book description reads, "Learn how to create gorgeous and expressive imagery with the Processing programming language and environment... Walk with veteran author Andrew Glassner on a journey of shared discovery as he takes actual Processing projects from inspiration to reality. You'll closely follow every step he takes and see exactly how each project evolves, including big and small mistakes he's made along the way (and how to fix them!), and the times when he changed direction. Once you see the results, you'll understand why programming is such a powerful skill for self-expression."

This book has a different perspective from the others because of Glassner's deep experience in computer graphics. His bio reads, "Dr. Andrew Glassner is a writer-director, and a consultant in story structure, interactive fiction, and computer graphics. He started working in 3D computer graphics in 1978, and has carried out research at the NYIT Computer Graphics Lab, Case Western Reserve University, the IBM TJ Watson Research Lab, the Delft University of Technology, Bell Communications Research, Xerox PARC, and Microsoft Research... He is also a well-known writer, and has published numerous technical papers and books on topics ranging from 3D modeling, rendering, and animation to digital sound synthesis. His book '3D Computer Graphics: A Handbook for Artists and Designers' has taught a generation of artists through two editions and three languages. Glassner created and edited the 'Graphics Gems' series and created and wrote several chapters in the book 'An Introduction to Ray Tracing'. He wrote the two-volume text 'Principles of Digital Image Synthesis'."

 

 

Processing: Creative Coding and Computational Art (Foundation) Processing: Creative Coding and Computational Art (Foundation)
Ira Greenberg (Foreword by Keith Peters).
Published May 2007, Friends of Ed. 840 pages. Hardcover.
» Order from Amazon.com
Sample chapters available from Friends of Ed.

The Friends of Ed website says, "This book is written especially for artists, designers, and other creative professionals and students exploring code art, graphics programming, and computational aesthetics. The book provides a solid and comprehensive foundation in programming, including object-oriented principles, and introduces you to the easy-to-grasp Processing language, so no previous coding experience is necessary. The book then goes through using Processing to code lines, curves, shapes, and motion, continuing to the point where you'll have mastered Processing and can really start to unleash your creativity with realistic physics, interactivity, and 3D! In the final chapter, you'll even learn how to extend your Processing skills by working directly with the powerful Java programming language, the language Processing itself is built with." (Quote from the Friends of Ed website)

 

 

The Essential Guide to Processing for Flash Developers The Essential Guide to Processing for Flash Developers
Ira Greenberg (Foreword by Daniel Shiffman).
Published December 2009, Friends of Ed. 489 pages. Paperback.
» Order from Amazon.com
Ira tells us, "The Essential Guide to Processing for Flash Developers takes a focused, hands-on approach to learning Processing that builds upon your familiarity with Flash, and experience with ActionScript and object-oriented programming concepts. The first three chapters are designed as a language primer explaining all the Processing specific programming theory you'll need to know, with numerous code examples. The rest of the book is project based, including a character animation; particle engine; serious game, with AI; cellular automata framework, including a .lif file format parser and a 3D data visualization. Each project is structured to allow less experienced coders to get up to speed relatively quickly, while leaving room for more experienced programmers to take the initial project concepts and run with them—building more complex applications. The last chapter introduces Processing’s Java mode, providing an easy to navigate bridge to programming in Java, Processing’s underlying host language."

 

 

Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFrameworks Programming Interactivity
Joshua Noble.
Published January 2012, O'Reilly. 728 pages. Paperback.
» Order from Amazon.com
The O'Reilly website says, "Make cool stuff. If you're a designer or artist without a lot of programming experience, this book will teach you to work with 2D and 3D graphics, sound, physical interaction, and electronic circuitry to create all sorts of interesting and compelling experiences -- online and off. Programming Interactivity explains programming and electrical engineering basics, and introduces three freely available tools created specifically for artists and designers: Processing, Arduino, and OpenFrameworks."

 

 

Generative Art Generative Art
Matt Pearson.
Published March 2011, Manning Publications. 300 pages. Paperback.
» Order from Amazon.com
Matt provides a list of bullet points:
  • The complete guide to creating generative graphics for print, video and the web.
  • The philosophy and practice of using a programming language as an artistic tool.
  • Includes a beginners guide to Processing, and applied tutorials on subjects such as Perlin Noise, Randomness, Fractals, Emergence, Agent Oriented Programming, Three Dimensional Drawing, and Cellular Automata.
  • Featuring the work of Robert Hodgin, Jared Tarbell, Aaron Koblin, Casey Reas and many more of the finest contemporary generative artists.
  • 32-page full-color section
  • Foreword by Marius Watz

 

 

Algorithms for Visual Design Using the Processing Language Algorithms for Visual Design Using the Processing Language
Kostas Terzidis.
Published May 2009, Wiley. 384 Pages. Hardcover.
» Order from Amazon.com
The Wiley website says, "this book offers a series of generic procedures that can function as building blocks and encourages you to then use those building blocks to experiment, explore, and channel your thoughts, ideas, and principles into potential solutions. The book covers such topics as structured shapes, solid geometry, networking and databases, physical computing, image processing, graphic user interfaces, and more."

 

 

Making Things Talk: Using Sensors, Networks, and Arduino to see, hear, and feel your world Making Things Talk: Using Sensors, Networks, and Arduino to see, hear, and feel your world
Tom Igoe.
Published September 2011, O'Reilly. 496 pages. Paperback.
» Order from Amazon

This book focuses on networking electronic devices with Arduino and Wiring, but includes many examples that use Processing for graphics. The O'Reilly website says, "Through a series of simple projects, this book teaches you how to get your creations to communicate with one another by forming networks of smart devices that carry on conversations with you and your environment. Whether you need to plug some sensors in your home to the Internet or create a device that can interact wirelessly with other creations, Making Things Talk explains exactly what you need... With a little electronic know-how, a couple of inexpensive microcontroller kits and some network modules to make them communicate using Ethernet, ZigBee, and Bluetooth, you can get started on these projects right away"

 

 

Making Things See: 3D vision with Kinect, Processing, Arduino, and MakerBot Making Things See: 3D vision with Kinect, Processing, Arduino, and MakerBot
Greg Borenstein.
Published February 2012, O'Reilly. 440 pages. Paperback.
» Order from Amazon.com
The publisher writes, "This detailed, hands-on guide provides the technical and conceptual information you need to build cool applications with Microsoft’s Kinect, the amazing motion-sensing device that enables computers to see. Through half a dozen meaty projects, you’ll learn how to create gestural interfaces for software, use motion capture for easy 3D character animation, 3D scanning for custom fabrication, and many other applications. Perfect for hobbyists, makers, artists, and gamers, Making Things See shows you how to build every project with inexpensive off-the-shelf components, including the open source Processing programming language and the Arduino microcontroller. You’ll learn basic skills that will enable you to pursue your own creative applications with Kinect."

 

 

Rapid Android Development: Build Rich, Sensor-Based Applications with Processing Rapid Android Development: Build Rich, Sensor-Based Applications with Processing
Daniel Sauter.
Published February 2013, The Pragmatic Programmers. ~300 pages. Paper and eBook.
» Order from The Pragmatic Bookshelf

The publisher writes, "Create mobile apps for Android phones and tablets faster and more easily than you ever imagined. Whether you’re a student, teacher, hobbyist, or experienced developer, Rapid Android Development puts the fast-growing market for Android phone and tablet applications within your reach. Without needing to master the complexities of Java, Eclipse, or the Android SDK, you’ll find yourself writing dazzling graphics displays and location-aware programs in no time. With more than 30 ready-to-run demos, applications, and games, you’ll find yourself diving deeper than you thought possible into the treasure trove of software and hardware packed into today’s Android devices."

 

 

Processing 2: Creative Programming Cookbook Processing 2: Creative Programming Cookbook
Jan Vantomme.
Published September 2012, PACKT. 350 pages. Paperback and eBook.
» Order from PACKT

The publisher lists:
  • Explore the Processing language with a broad range of practical recipes for computational art and graphics
  • Wide coverage of topics including interactive art, computer vision, visualization, drawing in 3D, and much more with Processing
  • Create interactive art installations and learn to export your artwork for print, screen, Internet, and mobile devices
  • Draw expressive shapes and images in 2D and 3D and get inspiration for your creativity
  • Extend the possibilities with Processing using libraries that help you create interactive computational art
  • Play and control video files using some of the coolest recipes with unmatched techniques
  • Visualize music and even live audio
  • Build basic tools for audio visual performances
  • Interact with computers using a webcam
  • Create Processing sketches for the web using the new JavaScript mode
  • Create interactive applications for your Android devices

 

 

Processing 2: Creative Coding Hotshot Processing 2: Creative Coding Hotshot
Nikolaus Gradwohl.
Published May 2013, PACKT. 266 pages. Paperback and eBook.
» Order from PACKT

The publisher lists:
  • Teach your computer to create physical objects, visualize data, and program a custom hardware controller
  • Create projects that can be run on a variety of platforms, ranging from desktop computers to Android smartphones
  • Each chapter presents a complete project and guides you through the implementation using easy-to-follow, step-by-step instructions
  • Have fun with entertaining projects while learning new tricks with Processing
  • Use Processing to teach a pair of cardboard robots to enact famous plays
  • Learn to build a custom hardware controller and control it using Processing
  • Use Processing to create motion sensor games you can play using your Kinect
  • Design objects you can print using a 3D printer with Processing

 

 

Einführung ins Programmieren mit Processing Einführung ins Programmieren mit Processing
Matthias Wolf.
Published August 2013. 178 pages. PDF, Paperback.
» Order Print/EBook from lulu.com

Die eigenständige Programmiersprache Processing basiert auf Java und ähnelt diesem sehr, verbirgt aber gleichzeitig viel von dessen Komplexität. Dadurch ist Processing für den Programmieranfänger ideal geeignet, um sich Konzepte des Programmierens zu erschließen und bewahrt gleichzeitig die Möglichkeit eines späteren Umstiegs. Dennoch ist die Sprache keineswegs nur für triviale Anfängeraufgaben geeignet: speziell im Bereich der graphischen Datenverarbeitung spielt Processing seine Stärken aus.

Dieses Buch richtet sich in erster Linie an den Einsteiger, den es an die Bewältigung auch komplexerer Aufgaben heranführt, wobei grundlegende Konzepte der imperativen und der objektorientierten Programmierung vorgestellt werden. Auch notwendige theoretische Hintergründe kommen dabei nicht zu kurz. Ausführlich kommentierter Beispielcode erschließt Konzepte und Sprache. Aber auch der routinierte Programmierer, der sich "nur" eine neue Sprache erschließen will, wird fündig!

Aus dem Inhalt: Datentypen — Variablen — Arrays (ein- und mehrdiomensional) — Flusssteuerung — Methoden — Objektorientiertes Programmieren — 2D-Graphik — 3D-Graphik — Dateizugriff — PDF — QuickTimeTM — Arduino®-Mikrocontroller — Alphabetischer Index

 

 

Processing, O'Reilly Basics Processing, O'Reilly Basics
Erik Bartmann.
Published September 2010, O'Reilly Verlag. 576 pages. Softcover.
Text in German.

The OReilly.de site writes, "Processing ist eine auf Grafik, Simulation und Animation spezialisierte objektorientierte Programmiersprache, die besonders für Menschen mit wenig Programmiererfahrung geeignet ist. Deshalb eignet sie sich vor allem für Künstler, Bastler und Programmiereinsteiger. Die aus Java abgeleitete Sprache wurde geschaffen, um schnell und effektiv mit relativ wenig Aufwand zu beeindruckenden Ergebnissen zu kommen. Processing führt den Leser zügig in die Programmieressentials ein und geht dann unmittelbar zur Programmierung grafisch anspruchsvoller Anwendungen über. Spielerisch wird dem Leser die 2D- und 3D-Programierung, Textrendering, die Bildbearbeitung und sogar die Videomanipulation nahe gebracht."

 

 

Processing - eine Einführung in die Programmierung Processing - eine Einführung in die Programmierung
Andres Wanner (Chapters by Hans Peter Wyss, Roland Broennimann and Roman Schnyder).
Version 1.1, Published May 2010, Lulu Press. 83 pages. Softcover.
Order from lulu.com
Book website

Diese Publikation stammt aus dem Unterricht an der F+F Schule (Zürich, Schweiz) und der Hochschule für Gestaltung und Kunst, FHNW (Schweiz). Die vorliegenden Version 1.1 wurde im Hinblick auf die aktuelle Sprachversion von Processing überarbeitet. Sie enthält auch ein aktualisiertes Kapitel über Arduino von Hans Peter Wyss und Roland Broennimann. Ein Download-Link für die Übungsbeispiele ist inbegriffen.

 

 

Processing : Le code informatique comme outil de création Processing : Le code informatique comme outil de création
Jean-Michel Géridan and Jean-Noël Lafargue
Published February 2011, Pearson Education. 300 pages. Hardcover.
Text in French.

The publisher says, "Décuplez votre créativité avec Processing ! Créé par des artistes pour des artistes dans un esprit de simplicité et de cohérence, Processing est un couteau-suisse mulltimédia qui permet de réaliser par programmation toutes sortes d'applications dans les domaines du design graphique, de l'image animée, du son, de la 3D ou de la communication interactive. Avec Processing, le code informatique devient un matériau des arts plastiques au même titre que l'argile, le fusain ou l'aquarelle. Ce livre vous aidera à prendre en main le logiciel et à concevoir vos premières créations. Il aborde les différents aspects du langage, depuis l'installation du logiciel jusqu'à la fabrication de documents pdf et de vidéos ou le traitement dynamique de données XML et le pilotage d'appareils électroniques tels que les cartes de prototypage Arduino et Wiring. Tirant parti de leur expérience pédagogique dans le domaine, les auteurs ont voulu que leur livre soit à la fois une référence complète sur le langage Processing et un cours progressif accessible aux lecteurs débutants en programmation."

 

 

Built with Processing Built with Processing
Published March 2007, BNN. 232 pages. Softcover.
Text in Japanese

Note from Casey: "I received a copy of this book from the authors on a recent trip to Japan. It's a beautifully produced full-color book with sections introducing Processing, featuring work created with Processing (many are from the Exhibition section of the Processing website), and introducing programming through progressively complicated examples. The majority of the book is an introduction to programming. There are many good examples and the code is color-coded like in the Processing Environment. This book is less comprehensive than the Greenberg and Reas/Fry books, but it appears to be a good, brief introduction."

There's additional information on the publisher's website.

 

 

 

Processing is also discussed through examples and projects in the following books:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10By Nick Montfort, Patsy Baudoin, John Bell, Ian Bogost, Jeremy Douglass, Mark C. Marino, Michael Mateas, Casey Reas, Mark Sample, Noah Vawter. Examples use Processing to explore a modern interpretation of a 1982 Commodore 64 program.

Getting Started with Arduino
By Massimo Banzi. Examples use Processing to communicate with an Arduino board.

Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing
By Robert Faludi. Network examples use Processing.

Physical Computing: Sensing and Controlling the Physical World with Computers
By Dan O'Sullivan and Tom Igoe. Examples using Processing for RS-232 communication and computer vision.

Aesthetic Computing.
Edited by Paul Fishwick. Casey Reas and Ben Fry contributed a chapter entitled "Processing Code: Programming within the Context of Visual Art and Design."

Hacking Roomba: ExtremeTech
By Tod E. Kurt. Processing is introduced and used to design an application to control a Roomba (a robot vacuum cleaner).

Analog In, Digital Out
By Brendan Dawes. Numerous projects created with Processing are illustrated and discussed.