This is a great book on that new Java-based language designed with the visual arts in mind - Processing. Tons of essays, examples, tutorials, and interviews are in the book to convey a proof of concept of the language as well as instruction on how to program with it. The writing style - for you Java programmers out there - reminds me of a cross between "Core Java" and "Head First Java". The book uses Core Java's "assume nothing" approach with instructions and code examples for all facets explained and combines that with interviews that are something like what you see in the "Head First" series of books from O'Reilly. Although the emphasis is on the visual arts, of course, there is coverage of the parts of Processing that makes it a complete language - networking, printing, object orientation, interfacing, and language extensions. Highly recommended for anyone interested in using this new language.
Note that this new language is not just getting the attention of computer artists. It is of use in electronics projects as seen in the book Making Things Talk: Practical Methods for Connecting Physical Objects and in the art of information presentation for business purposes in Visualizing Data. The following is the table of contents for this book:
Processing... 1
Using Processing 9
Structure 1: Code Elements 17
Shape 1: Coordinates, Primitives 23
Data 1: Variables 37
Math 1: Arithmetic, Functions 43
Control 1: Decisions 51
Control 2: Repetition 61
Shape 2: Vertices 69
Math 2: Curves 79
Color 1: Color by Numbers 85
Image 1: Display, Tint 12
Data 2: Text 101
Data 3: Conversion, Objects 105
Typography 1: Display 111
Math 3: Trigonometry 117
Math 4: Random 127
Transform 1: Translate, Matrices 133
Transform 2: Rotate, Scale 137
Development 1: Sketching, Techniques 145
Synthesis 1: Form and Code 149
Interviews 1: Print 155
Structure 2: Continuous 173
Structure 3: Functions 181
Shape 3: Parameters, Recursion 197
Input 1: Mouse I 205
Drawing 1: Static Forms 217
Input 2: Keyboard 223
Input 3: Events 229
Input 4: Mouse II 237
Input 5: Time, Date 245
Development 2: Iteration, Debugging 251
Synthesis 2: Input and Response 255
Interviews 2: Software, Web 261
Motion 1: Lines, Curves 279
Motion 2: Machine, Organism 291
Data 4: Arrays 301
Image 2: Animation 315
Image 3: Pixels 321
Typography 2: Motion 327
Typography 3: Response 333
Color 2: Components 337
Image 4: Filter, Blend, Copy, Mask 347
Image 5: Image Processing 355
Output 1: Images 367
Synthesis 3: Motion and Arrays 371
Interviews 3: Animation, Video 377
Structure 4: Objects 395
Drawing 2: Kinetic Forms 413
Output 2: File Export 421
Input 6: File Import 427
Input 7: Interface 435
Structure 5: Objects II 453
Simulate 1: Biology 461
Simulate 2: Physics 477
Synthesis 4: Structure, Interface 495
Interviews 4: Performance, Installation 501
Extension 1: Continuing... 519
Extension 2: 3D 525
Extension 3: Vision 547
Extension 4: Network 563
Extension 5: Sound 579
Extension 6: Print 603
Extension 7: Mobile 617
Extension 8: Electronics 633
Appendixes 661
Related Media 693
Glossary 699
Code Index 703
Index 705