1st Edition
Processing for Visual Artists How to Create Expressive Images and Interactive Art
Learn how to create gorgeous and expressive imagery with the Processing graphics language and environment. It's easy with this practical, hands-on book. Processing is for artists, designers, visualization creators, hobbyists, or anyone else looking to create images, animation, and interactive pieces for art, education, science, or business. Processing for Visual Artists shows you everything you need to know in a friendly, project-based style designed for visual thinkers.
The projects can serve as a starting point for your own original, creative development and exploration. Walk with veteran author Andrew Glassner on a journey of shared discovery as he uses Processing to take each project from inspiration to reality. You'll closely follow every step he takes and see exactly how each piece evolves, including the big and small mistakes he's made along the way (and how to fix them!), and the times when he changed direction.
As your knowledge and skills grow and develop, you'll understand why Processing is such a powerful tool for self-expression. And you'll be ready to strike off on your own. Processing offers you a 21st-century medium for expressing new kinds of ideas and engaging audiences in new ways. This book gives you everything you need to know to explore new frontiers in your own images, animations, and interactive experiences.
Source code for each chapter is available for free download on the book's description at the crcpress website.
Preface
Overview
What Is Processing?
Experiment Freely!
Planning
Commenting
Entering Programs
Programming as Expression
Setting Up and Getting Started
Hello, World!
Debugging
Working with Processing
Basic Ideas: Variables
Naming Things
Types
Using=for Assignment
Semicolons and Errors
Comments and Printing
Functions and Tests
Writing Functions
setup()and draw()
Curly Braces
Integer Division
Combined Operators
Starting a Program
Animation and Global Variables
If Statements
Conditional
Switch
Speed and Control
Color
Function Overloading
Defining Colors
HSB Colors
Graphics Primitives
Naming Points
Basic Shapes
Graphics State
Irregular Shapes
Graphics Windows
Human Input
Interpolation
Mouse Buttons
The Keyboard
A Simple Game
Loops and Transparency
Loops
Transparency
Transformations
Understanding Transformations
Accumulating Transformations
Order Matters
Nested Transformations
Recursion
Recursive Teacups
Extending the Teacups
Drawing Boxes within Boxes
Randomness and Arrays
Random Numbers
Arrays
Manipulating Arrays
Deletingan Array Entry
Noise
Catmull-Rom Curves
Knots and Control Points
Catmull-Rom Curves
Assembling Curves
Curves from Vertices
Tightening Curves
Working with Curves
Tangents and Normals
Finding a Point on a Curve
B´ezier Curves
B´ezier Curves
Reading Code
Offset B´ezier Curves
Finding a Point
Moving Curves Around
Objects
Objects and Methods
Multiple Instances
Object Methods
Moving Disks
Using this
Controlling Access
Some Projects
Managing Memory
Objects and Arrays
Fall Leaves
Basic Skeleton
PVector Object
Drawing a Leaf
More Fun with Leaves
Pointillism Leaves
Images
2D Arrays
Displaying Images
The Pixel Array
Image Manipulation
Applying Texture
SVG Objects
Working with Files
Digitizing
Cleanup
Final Display
More File Options
Extending the Project
Creating Patterns
Plotting a Function
Building Blocks
About Pattern-Making Functions
Finding Angles
Blending with Cosine
Building Patterns
Pattern Shaping
Circle Packing
An Action Lamp
Bell Curves
A Blobbier Lamp
Optimization
Building the Lamp
Subclasses
Ascending Blobs
Personalizing Your Lamp
Typography
Strings
Showing Strings
3D
3D Objects
Making Shapes in 3D
Controlling 3D
3D Camera
3D Lights
Materials
Other 3D Tools
Greebles
Useful Odds and Ends
Push and Pop Styles
Libraries
Time and Date
Saving Your Images
Window Wraparound
Debugging
Types and Type Conversion
Offscreen Drawing
Reading and Writing Modes
Blurring
Web Applets
User Events
Gotchas
Going Beyond
Projects
Stacked Contours
Crystal Towers
Skyline
Neon Sign
Streams
Puppet Show
Spooky Plants
Big Projects
Tackling a Project
Organizing a Project
Project 1: Sandstorm
Project 2: Postcards from Another Planet
Keywords
Alphabetical Listing
Listing by Function
Object Methods
Index
Biography
Dr. Andrew Glassner is a writer-director, and a consultant in story structure, interactive fiction, games, and computer graphics. He has carried out research in 3D computer graphics at Bell Communications Research, the IBM Watson Research Lab, Xerox PARC, and Microsoft Research. His many research papers and books cover theory and practice in fields such as 2D graphics, 3D graphics, interactive storytelling, and digital sound synthesis. His design work has been featured in locations from musical instruments and tattoos to iPhone applications to museum exhibits. Glassner is now a full-time writer-director and educator, and a consultant in storytelling and interactive fiction to the computer game and online entertainment industries.
Processing for Visual Artists: How to Create Expressive Images and Interactive Art teaches how to create imagery with the Processing graphics language, created for artists, designers or any using to create images and animation for arts or business purposes. It provides a project-based organization designed for artists and other types of visual thinkers, showing how to use Processing to create successful results. The step-by-step focus for each piece builds on knowledge and skills and makes for a fine pick for engaging artists who have Processing and want to make the most of it!
—The Midwest Book Review, August 2011The major contributions of this book are its uncompromising clarification of the creation of graphics using Processing and helping the reader to understand the principles underlying the language constructs to be used. … the book has much to offer to an experienced programmer. I highly recommend the book for those who already write code, but want to extend their knowledge, to clarify concepts, to clean up bad practices they acquired elsewhere, and to improve their understanding in a richer context. The book is excellent for turning a beginning programmer into a self-confident and well-equipped one, who can not only admire and adopt, but also design and create expressive images similar to the ones discussed in the book.
—Journal of Mathematics and the Arts, August 2011... quite accessible, using projects as platforms for teaching basics. A top pick, this includes color art image examples throughout.
—The Midwest Book Review, January 2011If you are a visual artist looking to take your work on a new path, Andrew Glassner's new book is an exciting and incredibly comprehensive guide to using Processing to create imagery with computation.
—Daniel Shiffman, September 2010