1st Edition

Processing for Visual Artists How to Create Expressive Images and Interactive Art

By Andrew Glassner Copyright 2010
    954 Pages
    by A K Peters/CRC Press

    954 Pages
    by A K Peters/CRC Press

    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 2011

    The 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 2011

    If 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