Processing: a programming handbook for visual designers and ...
Transcript of Processing: a programming handbook for visual designers and ...
Processing:a programming handbook for visual designers and artists
Casey ReasBen Fry
The MIT PressCambridge, MassachusettsLondon, England
Reas_00_i-xxvi.indd Sec1:iiiReas_00_i-xxvi.indd Sec1:iii 5/16/07 9:53:05 AM5/16/07 9:53:05 AM
© 2007 Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.
MIT Press books may be purchased at special quantity discounts for business or sales promotional use. For information, please email [email protected] or write to Special Sales Department, The MIT Press, 55 Hayward Street, Cambridge, MA 02142.
Printed and bound in the United States of America.
Library of Congress Cataloging-in-Publication Data
Reas, Casey. Processing : a programming handbook for visual designers and artists / Casey Reas & Ben Fry ; foreword by John Maeda. p. cm. Includes bibliographical references and index. ISBN 978-0-262-18262-1 (hardcover : alk. paper) 1. Computer programming. 2. Computer graphics—Computer programs. 3. Digital art—Computer programs. 4. Art—Data processing. 5. Art and technology. I. Fry, Ben. II. Title.
QA76.6.R4138 2007
005.1—dc22
2006034768
10 9 8 7 6 5 4 3 2 1
Reas_00_i-xxvi.indd Sec1:ivReas_00_i-xxvi.indd Sec1:iv 5/16/07 9:53:06 AM5/16/07 9:53:06 AM
29 34 45 57 67 72
91 99 113 121 131 141
192 204 208 221 225 233
247 289 297 307 320 324
336 344 352 354 359 409
447 451 472 493 530 551
84
189
244
331
415
535
Reas_00_i-xxvi.indd Sec1:viReas_00_i-xxvi.indd Sec1:vi 5/16/07 9:53:06 AM5/16/07 9:53:06 AM
vii
Foreword Preface
Processing . . . Using Processing
Structure 1: Code Elements Shape 1: Coordinates, Primitives Data 1: Variables Math 1: Arithmetic, Functions Control 1: Decisions Control 2: Repetition Shape 2: Vertices Math 2: Curves Color 1: Color by Numbers Image 1: Display, Tint Data 2: Text Data 3: Conversion, Objects Typography 1: Display Math 3: Trigonometry Math 4: Random Transform 1: Translate, Matrices Transform 2: Rotate, Scale Development 1: Sketching, Techniques Synthesis 1: Form and Code Interviews 1: Print
Structure 2: Continuous Structure 3: Functions Shape 3: Parameters, Recursion Input 1: Mouse I Drawing 1: Static Forms Input 2: Keyboard Input 3: Events Input 4: Mouse II Input 5: Time, Date Development 2: Iteration, Debugging Synthesis 2: Input and Response Interviews 2: Software, Web
Motion 1: Lines, Curves Motion 2: Machine, Organism Data 4: Arrays Image 2: Animation Image 3: Pixels Typography 2: Motion Typography 3: Response Color 2: Components Image 4: Filter, Blend, Copy, Mask Image 5: Image Processing Output 1: Images Synthesis 3: Motion and Arrays Interviews 3: Animation, Video
Structure 4: Objects I Drawing 2: Kinetic Forms Output 2: File Export Input 6: File Import Input 7: Interface Structure 5: Objects II Simulate 1: Biology Simulate 2: Physics Synthesis 4: Structure, Interface Interviews 4: Performance, Installation
Extension 1: Continuing . . . Extension 2: 3D Extension 3: Vision Extension 4: Network Extension 5: Sound Extension 6: Print Extension 7: Mobile Extension 8: Electronics
Appendixes Related Media Glossary Code Index Index
Contents
xixxxi
1
9
17
23
37
43
51
61
69
79
85
95
101
105
111
117
127
133
137
145
149
155
173
181
197
205
217
223
229
237
245
251
255
261
279
291
301
315
321
327
333
337
347
355
367
371
377
395
413
421
427
435
453
461
477
495
501
519
525
547
563
579
603
617
633
661
693
699
703
705
Reas_00_i-xxvi.indd Sec1:viiReas_00_i-xxvi.indd Sec1:vii 5/16/07 9:53:09 AM5/16/07 9:53:09 AM
viii
88 342 55 65 305 220
98 319 323 351 353 359
225 232 240 247 444 44
124 129 288 296 29 32
202 470 488 184 190 407
141 113 329 335 530 535
415
207
83
75
455
551
Reas_00_i-xxvi.indd Sec1:viiiReas_00_i-xxvi.indd Sec1:viii 5/16/07 9:53:10 AM5/16/07 9:53:10 AM
ix
Foreword Preface
Processing . . . Using Processing
Color 1: Color by Numbers Color 2: Components Control 1: Decisions Control 2: Repetition Data 1: Variables Data 2: Text Data 3: Conversion, Objects Data 4: Arrays Development 1: Sketching, Techniques Development 2: Iteration, Debugging Drawing 1: Static Forms Drawing 2: Kinetic Forms Image 1: Display, Tint Image 2: Animation Image 3: Pixels Image 4: Filter, Blend, Copy, Mask Image 5: Image Processing Input 1: Mouse I Input 2: Keyboard Input 3: Events Input 4: Mouse II Input 5: Time, Date Input 6: File Import Input 7: Interface Math 1: Arithmetic, Functions Math 2: Curves Math 3: Trigonometry Math 4: Random Motion 1: Lines, Curves Motion 2: Machine, Organism Output 1: Images Output 2: File Export
Shape 1: Coordinates, Primitives Shape 2: Vertices Shape 3: Parameters, Recursion Simulate 1: Biology Simulate 2: Physics Structure 1: Code Elements Structure 2: Continuous Structure 3: Functions Structure 4: Objects I Structure 5: Objects II Synthesis 1: Form and Code Synthesis 2: Input and Response Synthesis 3: Motion and Arrays Synthesis 4: Structure, Interface Transform 1: Translate, Matrices Transform 2: Rotate, Scale Typography 1: Display Typography 2: Motion Typography 3: Response
Interviews 1: Print Interviews 2: Software, Web Interviews 3: Animation, Video Interviews 4: Performance, Installation
Extension 1: Continuing . . . Extension 2: 3D Extension 3: Vision Extension 4: Network Extension 5: Sound Extension 6: Print Extension 7: Mobile Extension 8: Electronics
Appendixes Related Media Glossary Code Index Index
Contents by category
xixxxi
1
9
85
337
51
61
37
101
105
301
145
251
217
413
95
315
321
347
355
205
223
229
237
245
427
435
43
79
117
127
279
291
367
421
23
69
197
461
477
17
173
181
395
453
149
255
371
495
133
137
111
327
333
155
261
377
501
519
525
547
563
579
603
617
633
661
693
699
703
705
Reas_00_i-xxvi.indd Sec1:ixReas_00_i-xxvi.indd Sec1:ix 5/18/07 9:44:32 AM5/18/07 9:44:32 AM
x
29 30 44 55 63 70
88 97 113 124 128 137
186 200 206 219 225 231
246 281 293 306 316 322
334 340 349 353 406
441 458 464 484 530 535
83
174
239
329
414
551
356
Reas_00_i-xxvi.indd Sec1:xReas_00_i-xxvi.indd Sec1:x 5/16/07 9:53:14 AM5/16/07 9:53:14 AM
xi
Foreword by John Maeda
Preface Contents How to read this book Casey’s introduction Ben’s introduction Acknowledgments
Processing . . . Software Literacy Open Education Network Context
Using Processing Download, Install Environment Export Example walk-through Reference
Structure 1: Code Elements Comments //, /* */
Functions Expressions, Statements “;”, “,”
Case sensitivity Whitespace Console print(), println()
Extended contents
Shape 1: Coordinates, Primitives Coordinates size()
Primitive shapes point(), line(),
triangle(), quad(), rect(),
ellipse(), bezier()
Drawing order Gray values background(),
fill(),stroke(),
noFill(), noStroke()
Drawing attributes smooth(), noSmooth(),
strokeWeight(), strokeCap(),
strokeJoin()
Drawing modes ellipseMode(), rectMode()
Data 1: Variables Data types int, float, boolean,
true, false
Variables =
Processing variables width, height
Math 1: Arithmetic, Functions Arithmetic +, -, *, /, %
Operator precedence, Grouping ()
Shortcuts ++, --, +=, -=, *=, /=, -
Constraining numbers ceil(), floor(), round(),
min(), max()
xix
xxixxi
xxiixxiiixxivxxv
1
1
3
4
4
6
7
9
9
9
10
11
16
17
17
18
18
20
20
20
23
23
25
31
31
33
34
37
37
38
40
43
43
47
48
49
Reas_00_i-xxvi.indd Sec1:xiReas_00_i-xxvi.indd Sec1:xi 5/16/07 9:53:17 AM5/16/07 9:53:17 AM
xii
Control 1: Decisions Relational expressions >, <, >=, <=, ==, !=
Conditionals if, else, {}
Logical operators ||, &&, !
Control 2: Repetition Iteration for
Nested iteration Formatting code blocks
Shape 2: Vertices Vertex beginShape(), endShape(),
vertex()
Points, Lines Shapes Curves curveVertex(), bezierVertex()
Math 2: Curves Exponents, Roots sq(), sqrt(), pow()
Normalizing, Mapping norm(), lerp(), map()
Simple curves
Color 1: Color by Numbers Setting colors Color data color, color()
RGB, HSB colorMode()
Hexadecimal
Image 1: Display, Tint Display PImage, loadImage(), image()
Image color, Transparency tint(), noTint()
Data 2: Text Characters char
Words, Sentences String
Data 3: Conversion, Objects Data conversion boolean(), byte(), char(),
int(), float(), str()
Objects “.”,
PImage.width, PImage.height,
String.length,
String.startsWith(),
String.endsWith();
String.charAt(),
String.toCharArray(),
String.subString(),
String.toLowerCase(),
String.toUpperCase(),
String.equals()
Typography 1: Display Loading fonts, Drawing text PFont, loadFont(),
textFont(), text()
Text attributes textSize(), textLeading(),
textAlign(), textWidth()
Math 3: Trigonometry Angles, Waves PI, QUARTER_PI, HALF_PI,
TWO_PI, sin(), cos(),
radians(), degrees()
Circles, Arcs, Spirals arc()
Math 4: Random Unexpected numbers random(), randomSeed()
Noise noise(), noiseSeed()
51
51
53
57
61
61
65
67
69
69
71
72
74
79
79
80
83
85
86
89
89
93
95
96
97
101
102
103
105
105
107
111
112
114
117
117
123
127
127
130
Reas_00_i-xxvi.indd Sec1:xiiReas_00_i-xxvi.indd Sec1:xii 5/16/07 9:53:18 AM5/16/07 9:53:18 AM
xiii
Transform 1: Translate, Matrices Translation translate()
Controlling transformations pushMatrix(), popMatrix()
Transform 2: Rotate, Scale Rotation, Scaling rotate(), scale()
Combining transformations New coordinates
Development 1: Sketching, Techniques Sketching software Programming techniques
Synthesis 1: Form and Code Collage Engine Riley Waves Wilson Grids Mandelbrot Set
Interviews 1: Print Jared Tarbell. Fractal.Invaders, Substrate Martin Wattenberg. Shape of Song James Paterson. The Objectivity Engine LettError. RandomFont Beowolf
Structure 2: Continuous Continuous evaluation draw(), frameRate(),
frameCount
Controlling the fl ow setup(), noLoop(),
Variable scope
Structure 3: Functions Abstraction Creating functions void
Function overloading Calculating and returning values return
Shape 3: Parameters, Recursion Parameterized form Recursion
Input 1: Mouse I Mouse data mouseX, mouseY,
pmouseX, pmouseY
Mouse buttons mousePressed, mouseButton
Cursor icon cursor(), noCursor()
Drawing 1: Static Forms Simple tools Drawing with images
Input 2: Keyboard Keyboard data keyPressed, key
Coded keys keyCode
Input 3: Events Mouse events mousePressed(),
mouseReleased(),
mouseMoved(), mouseDragged()
Key events keyPressed(), keyReleased()
Controlling the fl ow loop(), redraw()
133
133
134
137
137
139
142
145
145
146
149
150
151
152
153
155
157
161
165
169
173
173
177
178
181
182
183
193
194
197
197
201
205
205
212
213
217
218
221
223
224
227
229
229
232
235
Reas_00_i-xxvi.indd Sec1:xiiiReas_00_i-xxvi.indd Sec1:xiii 5/16/07 9:53:18 AM5/16/07 9:53:18 AM
xiv
Input 4: Mouse II Constrain constrain()
Distance dist()
Easing abs()
Speed Orientation atan2()
Input 5: Time, Date Seconds, Minutes, Hours second(), minute(), hour(),
millis()
Date day(), month(), year()
Development 2: Iteration, Debugging Iteration Debugging
Synthesis 2: Input and Response Tennis Cursor. Peter Cho Typing Banded Clock. Golan Levin
Interviews 2: Software, Web Ed Burton. Sodaconstructor Josh On. They Rule Jürg Lehni. Hektor and Scriptographer Auriea Harvey and Michaël Samyn. The Endless Forest
Motion 1: Lines, Curves Controlling motion Moving along curves Motion through transformation
Motion 2: Machine, Organism Mechanical motion Organic motion
Data 4: Arrays Using arrays Array, [], new, Array.length
Storing mouse data Array functions append(), shorten(),
expand(), arraycopy()
Two-dimensional arrays
Image 2: Animation Sequential images Images in motion
Image 3: Pixels Reading pixels get()
Writing pixels set()
Typography 2: Motion Words in motion Letters in motion
Typography 3: Response Responsive words Responsive letters
Color 2: Components Extracting color red(), blue(), green(),
alpha(), hue(), saturation(),
brightness(),
Dynamic color palettes
Image 4: Filter, Blend, Copy, Mask Filtering, Blending filter(), blend(),
blendColor()
Copying pixels copy()
Masking mask()
237
237
238
239
242
243
245
245
249
251
251
252
255
256
257
258
259
261
263
267
271
275
279
279
284
287
291
291
295
301
303
306
309
312
315
316
319
321
321
324
327
327
331
333
333
335
337
337
341
347
347
353
354
Reas_00_i-xxvi.indd Sec1:xivReas_00_i-xxvi.indd Sec1:xiv 5/16/07 9:53:18 AM5/16/07 9:53:18 AM
xv
Image 5: Image Processing Pixels pixels[], loadPixels(),
updatePixels(), createImage()
Pixel components Convolution Image as data
Output 1: Images Saving images save()
Saving sequential images saveFrame()
Synthesis 3: Motion and Arrays Centipede. Ariel Malka Chronodraw. Andreas Gysin AmoebaAbstract_03. Marius Watz Mr. Roboto. Leon Hong
Interviews 3: Animation, Video Motion Theory. R.E.M. “Animal” Bob Sabiston. Waking Life Jennifer Steinkamp. Eye Catching Semiconductor. The Mini-Epoch Series
Structure 4: Objects I Object-oriented programming Using classes and objects class, Object
Arrays of objects Multiple fi les
Drawing 2: Kinetic Forms Active tools Active drawings
Output 2: File Export Formatting data nf()
Exporting fi les saveStrings(), PrintWriter,
createWriter(),
PrintWriter.flush(),
PrintWriter.close(), exit()
Input 6: File Import Loading numbers loadStrings(),
split(), splitTokens()
Loading characters WHITESPACE
Input 7: Interface Rollover, Button, Dragging Check boxes, Radio buttons Scrollbar
Structure 5: Objects II Multiple constructors Composite objects Inheritance extends, super
Simulate 1: Biology Cellular automata Autonomous agents
Simulate 2: Physics Motion simulation Particle systems Springs
Synthesis 4: Structure, Interface WithoutTitle. Lia Pond. William Ngan Swingtree. ART+COM, Andreas Schlegel SodaProcessing. Ed Burton
355
356
359
360
364
367
368
369
371
372
373
374
375
377
379
383
387
391
395
395
398
406
409
413
414
416
421
421
422
427
428
431
435
436
442
448
453
453
454
456
461
461
469
477
477
481
487
495
496
497
498
499
Reas_00_i-xxvi.indd Sec1:xvReas_00_i-xxvi.indd Sec1:xv 5/16/07 9:53:19 AM5/16/07 9:53:19 AM
xvi
Interviews 4: Performance, Installation SUE.C. Mini Movies Chris Csikszentmihályi. DJ I, Robot Sound System Golan Levin, Zachary Lieberman. Messa di Voce Marc Hansen. Listening Post
Extension 1: Continuing . . . Extending Processing Processing and Java Other programming languages
Extension 2: 3D. Simon Greenwold A short history of 3D software 3D form Camera Material and lights Tools for 3D Conclusion Code Resources
Extension 3: Vision. Golan Levin Computer vision in interactive art Elementary computer vision techniques Computer vision in the physical world Tools for computer vision Conclusion Code Resources
Extension 4: Network. Alexander R. Galloway The Internet and the arts Internet protocols and concepts Network tools Conclusion Code Resources
Extension 5: Sound. R. Luke DuBois Music and sound programming in the arts Sound and musical informatics Digital representation of sound and music Music as information Tools for sound programming Conclusion Code Resources
Extension 6: Print. Casey Reas Print and computers High-resolution fi le export Production Conclusion Code Resources
Extension 7: Mobile. Francis Li Mobile software applications The mobile platform Programming for mobile phones Mobile programming platforms Conclusion Code Resources
Extension 8: Electronics. Hernando Barragán and Casey Reas Electronics in the arts Electricity Components Circuits Microcontrollers and I/O boards Sensors and communication Controlling physical media Conclusion Code Resources
501
503
507
511
515
519
519
521
522
525
525
526
531
532
536
538
539
545
547
547
549
552
554
555
556
561
563
563
565
569
571
572
576
579
579
582
584
588
591
592
593
599
603
603
606
608
612
613
615
617
617
619
622
624
625
626
631
633
633
635
637
638
639
642
646
648
649
658
Reas_00_i-xxvi.indd Sec1:xviReas_00_i-xxvi.indd Sec1:xvi 5/16/07 9:53:19 AM5/16/07 9:53:19 AM
xvii
Appendix A: Order of Operations Appendix B: Reserved Words Appendix C: ASCII, Unicode Appendix D: Bit, Binary, Hex Appendix E: Optimization Appendix F: Programming Languages Appendix G: Code Comparison
Related Media Glossary Code Index Index
661
663
664
669
673
679
686
693
699
703
705
Reas_00_i-xxvi.indd Sec1:xviiReas_00_i-xxvi.indd Sec1:xvii 5/16/07 9:53:19 AM5/16/07 9:53:19 AM
703
Code Index
This index contains all of the Processing language elements introduced within this book. The page numbers refer to the fi rst use.
! (logical NOT), 57!= (inequality), 52% (modulo), 45&& (logical AND), 57() (parentheses) for functions, 18 for precedence, 47* (multiply), 44*= (multiply assign), 49+ (addition), 43++ (increment), 48+= (add assign), 48, (comma), 18- (minus), 44-- (decrement), 48-= (subtract assign), 48. (dot), 107/ (divide), 44/= (divide assign), 49/* */ (comment), 18// (comment), 17; (semicolon), 19< (less than), 51<= (less than or equal to), 52= (assign), 38== (equality), 52 for String objects, 109> (greater than), 51>= (greater than or equal to), 52[] (array access), 301 2D arrays, 312 arrays of objects, 406{} (braces), 53 and variable scope, 178|| (logical OR), 57# (hex color), 93
abs(), 241alpha(), 338ambient(), 533ambientLight(), 533append(), 309arc(), 124arraycopy, 310Array, 301 length, 304atan2(), 243
background(), 31beginRaw(), 531beginRecord(), 607beginShape(), 69bezier(), 30bezierVertex(), 75blend(), 351blendColor(), 352blue(), 337boolean, 38boolean(), 106brightness(), 338byte, 38byte(), 106
camera(), 531Capture, 556ceil(), 49char, 38, 102char(), 106class, 395Client, 567color, 38, 89color(), 89colorMode(), 91constrain(), 237copy(), 353cos(), 118createGraphics(), 614createImage(), 362createWriter(), 423cursor(), 213curveVertex(), 74
day(), 249degrees(), 117directionalLight(), 536dist(), 238draw(), 173
ellipse(), 30ellipseMode(), 34else, 55else if, 56endRaw(), 531endRecord(), 607endShape(), 69exit(), 422expand(), 309extends, 456
false, 38fill(), 32filter(), 347float, 37float(), 106floor(), 49for, 61frameCount, 173frameRate(), 173
get(), 321green(), 337
HALF_PI, 117height, 40hour(), 245HSB, 89hue(), 338
if, 53image(), 96int, 37int(), 107key, 225keyCode, 227keyPressed, 224keyPressed(), 232keyReleased(), 232
lerp(), 81lightSpecular(), 536line(), 27loadFont(), 112loadImage(), 96loadPixels(), 356loadStrings(), 428loop(), 235
Reas_09_519-710.indd Sec6:703Reas_09_519-710.indd Sec6:703 5/16/07 12:33:53 PM5/16/07 12:33:53 PM
704 Code Index
map(), 81mask(), 354max(), 50millis(), 248min(), 50minute(), 245month(), 249mouseButton, 212mouseDragged(), 229mouseMoved(), 229mousePressed, 212mousePressed(), 229mouseReleased(), 229mouseX, 205mouseY, 205
new for arrays, 303 for objects, 399nf(), 422noCursor(), 213noFill(), 33noise(), 130noiseSeed(), 131noLoop(), 178norm(), 80noSmooth(), 33noStroke(), 33noTint(), 97
Object, 107, 395
PFont, 112PI, 117PImage, 96pixels[], 356pmouseX, 208pmouseY, 208point(), 25pointLight(), 536popMatrix(), 134pow(), 80print(), 20println(), 20PrintWriter, 423 close(), 423 flush(), 423 println(), 424pushMatrix(), 134
quad(), 29QUARTER_PI, 117
radians(), 117random(), 127randomSeed(), 129rect(), 29rectMode(), 34red(), 337redraw(), 235return, 194RGB, 89rotate(), 137round(), 50
saturation(), 338save(), 368saveFrame(), 369saveStrings(), 422scale(), 138second(), 245Server, 567set(), 324setup(), 177shorten(), 309sin(), 118size(), 24 with P3D, 528 with OPENGL, 528 with PDF, 607smooth(), 33specular(), 536split(), 429splitTokens(), 430spotLight(), 536sq(), 79sqrt(), 79str(), 107String, 103 length(), 108 endsWith(), 108 equals(), 109 startsWith(), 108 substring(), 109 toCharArray(), 108 toLowerCase(), 109 toUpperCase(), 109stroke(), 32strokeCap(), 33strokeJoin(), 33strokeWeight(), 33super, 456
text(), 112textAlign(), 115textFont(), 112textLeading(), 115textSize(), 114texture(), 536textWidth(), 116tint(), 97translate(), 133triangle(), 27true, 38TWO_PI, 117
updatePixels(), 356
vertex(), 69void, 187
width, 40
year(), 249
Reas_09_519-710.indd Sec6:704Reas_09_519-710.indd Sec6:704 5/16/07 12:33:53 PM5/16/07 12:33:53 PM
705
Index
This index contains mostly people, software, artwork, and programming languages. For topics, see the table of contents (pp. vii–xvii); for code, see the Code Index.
1:1 (Jevbratt), 566 3M Corporation, 5533 Stoppages Étalon (Duchamp), 1277–11 Email list, 563
AARON, 218Aesthetics and Computation Group (ACG), xxiii, 682Achituv, Romy, 549ActionScript, 158, 166, 522–523, 565, 680–681, 686–687, 689, 691Adair, Sandra, 384Adobe, 4, 169, 683Adobe After Effects, 166, 327, 379, 387Adobe Flash, 157–158, 165–166, 267–268, 275, 278, 327, 436, 564–565, 624, 629, 642, 680–681, 683, 686, 701Adobe Flash Lite, 624, 681Adobe Garamond (font), 112Adobe Illustrator, xxiii, 30, 77, 166, 143, 217, 271, 273, 607–608, 683Adobe Photoshop, xxiii, 95, 166, 268, 276, 347, 355, 360, 384, 387–388, 391–392, 607–608, 611, 683Adobe Premiere, 391–392Adobe Streamline, 166AAC (Advanced Audio Coding), 585 AIFF (Audio Interchange File Format), 585–586, 699Aldus PageMaker, 605Alexander, Ryan, 380Alias Maya, 379, 387–388, 537, 680AltSys, 170Andrade, Laura Hernandez, 4Apple IIe, xxiiiApple Audio Units (AU), 591
Apple Computer, 3, 111, 537, 585, 699Apple Logic Audio, 503, 591Apple Mac G3, 383Apple Mac G4, 383Apple Macintosh (Mac), 9–11, 95, 111–112, 169, 205, 227, 367, 383, 521, 568–569, 574, 604, 639, 665, 682, 685Apple Mac Mini, 639Apple Mac OS, 264, 435, 665–666, 681 Apple Mac OS X, 16, 170, 435, 645, 649, 684Apple QuickTime, 367, 383–384, 387–388AppleScript, 681Arduino, 521, 633, 640, 641, 645–646, 648–649, 681, 685Arp, Jean, 127Ars Electronica Festival, 618ART+COM, 498ASCII (American Standard Code for Information Interchange), 102–103, 226–227, 549, 565, 664–668, 670, 691, 699Athena, 387ATI, 537AT&T/Bell , 564Audacity, 591AutoCAD, 217, 529, 537Autodesk 3ds Max, 268, 276, 391–392, 537AutoDesk Revit, 537AutoLISP, 522, 681Autonomedia, 564 Avid/Digidesign Pro Tools, 591AVR (Atmel), 640awk, 517, 684
Babbitt, Milton, 580–581Bach, J. S., 581Bailey, Chris, 581Balkin, Amy, 267Baran, Paul, 564Barr, Alfred, 291Barragán, Hernando, 633 BASIC, xxiii, xxiv, 152, 264, 522, 604–605, 640, 642, 681BASIC Stamp 2 (Parallax), 640BasicX–24 (NetMedia), 642
Bass, Saul, 327Baumgärtel, Tilman, 564Bauhaus, 149BBC Acorn Archimedes, 264Beach Culture, 605Beethoven, Ludwig van, 581BEFLIX, 315, 681Bell Laboratories, 315, 580–581, 604Bentley Systems GenerativeComponents, 537Berliner, Emile, 579Berlow, David, 170Bernard (a k a Flip 1), 508BIAS Peak, 591BigEye, 554Binary Runtime Environment for Wireless (BREW), 625Binary space partition (BSP), 527Binder, Maurice, 327bitforms gallery, 164, 166–167, 525, 547, 603, 633Bittorent, 571Blackwell, Lewis, 605 Blender, 276, 576Blinkenlights (Chaos Computer Club), 618Blonk, Jaap, 511Bluetooth, 619, 621–622, 624, 641, 645, 683Blyth, Steven, 512Boids (Reynolds), 295, 473, 475, 497 Boole, George, 38, 61, 669Boolean algebra, 38Boulez, Pierre, 581 Braitenberg, Valentino, 473–474Brakhage, Stan, 413Brecht, Bertolt, 564Brooklyn Academy of Music (BAM), 515–516Brown, Robert, 295Brownian motion, 295Brunelleschi, Filippo, 525Bunting, Heath, 563–564 Bureau of Inverse Technology, 548, 634Burke, Phil, 592Burton, Ed, 263–264, 413, 499Byrne, David, 581
Reas_09_519-710.indd Sec6:705Reas_09_519-710.indd Sec6:705 5/16/07 12:33:53 PM5/16/07 12:33:53 PM
706 Index
C, 7, 264, 515–517, 522–523, 592, 640, 642, 682–685, 693, 697C++, 264, 271, 383, 507–508, 511–512, 515–516, 522–523, 555, 592, 599, 640, 679, 681–682CAD (computer–aided drawing software), 217, 526, 537–538Cage, John, 127, 579CalArts School of Art, 564California Institute of Technology (Caltech), 388, 549Cameron, Dan, 387Campbell, Jim, 549Carmack, John ,525Carnegie Mellon University, xxiCarnivore, 566, 568–569Carson, David, 605Cascading Style Sheets (CSS), 93 CCRMA Synthesis ToolKit (STK), 592Chang, Zai, 6Cheese (Möller), 549Cho, Peter, 257, 327CIA World Fact Book, 267Citron, Jack, 315CityPoems, 617, 624ChucK, 592, 682Cloaca (Delvoye), 461Clash of the Titans, 387Close, Chuck, 606CODE (Petzold), 648Cohen, Harold, 218Columbia–Princeton Electronic Music Center, 580Commodore C–64, 272Commodore VC–20, 272Common Lisp, 592Complexification.net, 6, 157Computational Beauty of Nature, The (Flake), 469Computers and Automation, 603Computer Clubhouse, 680Computer Lib / Dream Machines (Nelson), 3Computer Vision Homepage (Huber), 552Coniglio, Mark, 512“Constituents for a Theory of the Media” (Enzensberger), 564Conway, John, 461, 463, 467–468, 475Cook, Perry, 592 Cooper, Muriel , 327Cope, David, 581CorelDRAW, 608
Cosic, Vic 563–564Costabile, Sue (SUE.C), 503–504Craighead, Alison, 618Crawford, David, 316Crystal Castle, 525Csikszentmihályi, Chris, 507–508, 634CSIRAC, 580Csuri, Charles, 217Cuba, Larry, 1, 315Cullen, Mathew, 379–380CV.Jit, 554Cybernetic Serendipity, 101, 603Cycling ’74, 554, 592Cyclops, 554
Dada, 149–150Davies, Char, 526Davis, Joshua, 564–565 Deck, Barry, 112Deleuze and Guattari, 564Delvoye, Wim, 461De Mol, Gerry, 275Design By Numbers (DBN), xxiv, 552–523, 682Designers Republic, The, 605Dextro, 316Dialtones (Levin et al.), 617–618Digidesign, 587, 591Dine, Jim, 606DJ I, Robot Sound System, 506–509Dodgeball, 617, 624Domain Name System (DNS), 566DrawBot, 169, 682, 684Drawing with Computers (Wilson), 152, 217, 604Drawn (Lieberman), 413DuBois, R. Luke, 579Duchamp, Marcel, 127, 633Dunne, Tony, 634Dürer, Albrecht 525, 612DXF, 520, 529–531Dynabook, 3
Eagle, 272écal (école cantonale d’art de Lausanne), 271Eclipse, 571, 625ECMAScript, 681, 683Edelweiss Series (Maywa Denki), 634Edgerton, Harold, 295Edison, Thomas, 579 Eighth Istanbul Biennial, 387Eimart, Herbert, 580
Electronic Arts, 585ELIZA, 101Emacs, 516Emigre, 605End of Print, The (Blackwell), 605Endless Forest, The (Tale of Tales), 274–277Engelbart, Douglas, 205Eno, Brian, 581Enron, 268Enzensberger, Hans Magnus, 564EPS, 606Euler’s method, 7, 494Every Icon (Simon), 565Evolved Virtual Creatures (Sims), 295Experiments in Art and Technology (E.A.T.), 633Extend Script, 683Eye magazine, 605Eye Catching (Steinkamp), 386–389 EyesWeb, 554–555EZIO (NIQ), 642
Feingold, Ken, 633Ferro, Pablo, 327Final Cut Pro (FCP), 383, 503Final Scratch, 507Fischinger, Oskar, 413Fisher, Robert, 552 Flake, Gary William, 469Flight404.com, 6Flight Simulator, 525Foldes, Peter, 315FontLab, 170Fontographer, 170Fortran, 522Fractal.Invaders (Tarbell), 156–159 Franceschini, Amy, 267Franke, Uli, 260, 271Free Radicals, 413Friendster, 617Fourier, Jean-Baptiste-Joseph, 584Fourier transform, 585, 588, 590Futurist, 279, 579
Gabo, Nam, 633Galloway, Alexander R., 563Game of Life, 461, 463, 465–466, 468, 475Gardner, Martin, 461, 463Garton, Brad, 581 Gerhardt, Joseph, 391–392Gestalt psychology, 584
Reas_09_519-710.indd Sec6:706Reas_09_519-710.indd Sec6:706 5/16/07 12:33:54 PM5/16/07 12:33:54 PM
707 Index
GIF, 95–96, 98–99, 421, 700–701Girroir, Jonathan, 506–509Google, 568, 617GPS (Global positioning system), 619, 621Graffiti, 223GRASS, 681Groeneveld, Dirk, 333GNU Image Manipulation Program (GIMP), 95, 347, 355, 607–608 GNU Public License (GPL), 271Gnutella, 566, 571GPU (graphics processing unit), 536–537Graphomat Z64 (Zuse), 603 Greenwold, Simon, 525Greie, Antye (AGF), 503–504Grzinic, Marina, 563GUI (Graphical user interface), 435–436, 448, 450, 499, 604, 634, 679–680, 683, 685, 700Gutenberg, Johannes, 111Gutenberg archive, 433Guttmann, Newmann, 580Gysin, Andreas, 373
Hall, Grady, 379Handel, George Frideric, 581Hansen, Mark, 515–516, 634Harmon, Leon, 604Harvard University, xxiHarvey, Auriea, 275Hewlett-Packard (HP), 604, 610Hawkinson, Tim, 633Hawtin, Richie, 507Hébert, Jean-Pierre, 217, 606Hektor (Lehni, Franke), 260, 270–273Henry, John, 507Henry, Pierre, 580Hiller, Lejaren , 581Hoefler, Jonathan, 112Hodgin, Robert, 6, 692Hokusai, 612Hongik University, 5Hong, Leon, 5, 375Hooke’s law, 263, 487Howard Wise gallery, 603HTML (HyperText Markup Language), 9–11, 93, 268, 427, 549, 564–565, 568–569, 621, 624, 665–666, 684HTTP (Hypertext Transfer Protocol), 567–569, 623
Huber, Daniel, 552Huff, Kenneth A., 606Hypermedia Image Processing Reference (HIPR), 552HyperTalk, 522
IANA, 569IBM, 315, 537, 580, 585, 604, 620, 702IC (integrated circuit), 639, 647I–Cube X (Infusion Systems), 642IEEE 1394 camera, 556If/Then (Feingold), 633Igarashi, Takeo, 538Igoe, Tom, 635, 648 Ikarus M, 170Incredibles, The, 315Internet Explorer, 565Internet Protocol (IP), 566–567, 569, 589, 645 Impressionist, 279Inaudible Cities: Part One (Semiconductor), 392InDesign, 683Infrared, 553, 621Inge, Leif, 581Inkscape, 77, 607–608Installation (Greenwold), 526Institute of Contemporary Arts (ICA), 101, 522Intel Integrated Performance Primitives (IPP), 512, 555Interaction Design Institute Ivrea (IDII), xxi, 634i|o 360°, 565I/O/D 4 (“The Webstalker”), 566IRCAM, 554, 581, 592Ishii, Hiroshi, 634Ishizaki, Suguru, 327ISO 216 standard, 611Iwai, Toshio, 512, 549
James, Richard (Aphex Twin), 582 Jarman, Ruth, 391–392Java, 7, 9–11, 146, 161–162, 263–264, 271, 499, 521–523, 528, 555, 564– 565, 571, 574, 592, 622, 625– 626, 642, 663, 673, 677, 679–683, 686–690, 699–700Java 2 Micro Edition (J2ME), 625Java applet, 9–11, 264, 521, 656, 657, 675, 699Java Archive (JAR), 10–11, 700Java Core API, 271
JavaScript, 268, 271, 522, 624, 680, 681, 683Java Virtual Machine (JVM), 680Jeremijenko, Natalie, 548Jevbratt, Lisa, 566 jMax, 592Jodi, 563–566 Jones, Crispin, 634Jones, Ronald, 275Jonzun Crew, 508JPEG, 95–96, 162, 421, 606, 611, 620, 701JSyn (Java Synthesis), 592Julesz, Bela, 603
Kay, Alan, 3Kim, Tai-kyung, 5Kimura, Mari, 582King’s Quest, 525Klee, Paul, 217Knowlton, Kenneth C., 315, 604Krueger, Myron, 255, 512, 547Kusaite, Lina, 275Kuwakubo, Ryota, 634
La Barbara, Joan, 511Langton, Chris, 469, 471Putto8 2.2.2.2 (Rees), 524, 526LaserWriter, 111, 604Lee, Soo-jeong, 5Led Zeppelin, 161Legible City, The (Shaw, Groeneveld), 333Lehni, Jürg, 260, 271–273Leibniz, Gottfried Wilhelm, 61Letterscapes (Cho), 327LettError, 111, 168–170, 605Levin, Golan, 259, 333, 511–512, 547, 617–618Lewis, George, 582LeWitt, Sol, 217Li, Francis, 617Lia, 316, 496Lialina, Olia, 563–564Licko, Zuzana, 112, 605Lieberman, Zachary, 413, 512–512, 547Lifestreams, 425–426Limewire, 571Lingo, 522–523, 555, 565, 683, 686–687, 689, 691Linklater, Richard, 383Linotype, 111Linux, 4, 9–11, 508, 521, 568–569, 625, 645, 649
Reas_09_519-710.indd Sec6:707Reas_09_519-710.indd Sec6:707 5/16/07 12:33:54 PM5/16/07 12:33:54 PM
708 Index
Listening Post (Rubin, Hansen), 514–517LISP, 101LiveScript, 683Local area network (LAN), 568–569Logo, xxiii, 2, 217, 522, 681Lovink, Geert, 564Lozano-Hemmer, Rafael, 546, 548 Lucent Technologies, 515Lucier, Alvin, 590Luening, Otto, 580Lüsebrink, Dirk, 549Lye, Len, 413
Machine Art exhibition, 291, 633Machine Perception Laboratories, 549MacMurtrie, Chico, 549 Macromedia Director, 166, 387–388, 554–555, 642, 683, 686Maeda, John, xix, xxiii, xxiv, 3, 5, 158, 333, 564, 606, 682Malka, Ariel, 372Makela, P. Scott, 605Mandelbrot, Benoit, 153Manovich, Lev, 565Marble Madness, 525Marconi, Guglielmo, 579Marey, Étienne-Jules, 295Mark of the Unicorn Digital Performer, 591Markov chain, 581Marx, Karl, 267–268Massachusetts Institute of Technology (MIT), xix, xxiii, xxiv, 327, 634, 680, 682, 693, 695Masterman, Margaret, 101Mathews, Max, 580, 586, 591, 683MATLAB, 522Max/MSP/Jitter, 2, 503–504, 515–517, 522, 554–555, 571, 580, 592, 642, 683–685Maya Embedded Language (MEL), 680, 683Maywa Denki, 634McCarthy, John, 101McCartney, James, 592McCay, Winsor, 315McLaren, Norman, 413Medusa, 387MEL, 680, 683Mendel, Lucy, 507Messa di Voce (Tmema et al.), 510–513, 547
Metrowerks Codewarrior, 512Microsoft, 4, 111, 169, 436, 508, 525, 537, 585, 702Microsoft Direct3D, 537Microsoft Visual Basic, 436Microsoft Windows, 9, 11, 264, 367, 421, 435–436, 511, 521, 568, 625, 645, 649, 665–666, 685MIDI (Musical Instrument Digital Interface) 162, 554, 588–589, 591–592, 618, 621, 623, 642, 645, 683, 685Mignonneau, Laurent, 549MIME, 623Mims, Forest M., III, 648Mini-Epoch Series, The (Semiconductor), 390–393Mini Movies (AGF+SUE.C), 500, 502–505Minitasking (Schoenerwissen/ OfCD), 562, 566Minsky, Marvin, 547MIT Media Laboratory, xxiii, 327, 634, 680, 682, 702MixViews, 591MP3, 162, 421, 585, 621, 623MPEG–7, 549Mobile Processing, 521, 622–626, 683Mohr, Manfred, 217, 602, 606Möller, Christian, 549Moore, F. Richard, 592 Mophun, 625Morisawa, 605Motion Theory, 378–381MTV, 384[murmur], 618Museum of Modern Art, The (MOMA), 291, 633MUSIC, 580, 591Musique concrète, 580–581Muybridge, Eadweard, 295, 373 Myron, 555MySQL, 267–268Myst, 525
Nakamura, Yugo, 565Nake, Frieder, 217, 603Napier, Mark, 566Napster, 507, 571Nees, Georg, 217, 603Nelson, Ted, 3“net.art”, 563–564net.art (Baumgärtel), 564net.art 2.0 (Baumgärtel), 564
NetBeans, 625Netscape Navigator, 565, 683Newton, Isaac, 477, 488New York University (NYU), 6, 634New York Times, The, 150Ngan, William, 497Nimoy, Josh, 512Noll, A. Michael , 217, 603Nokia, 517, 618–619, 625Nmap, 569NSA (National Security Agency), 268NTNTNT (Cal Arts), 564NTSC, 367NTT DoCoMo’s i–Mode, 624 Nuendo, Steinberg, 591null, 40, 701NURBS (Non-uniform Rational B-splines), 526nVidia, 537Nyquist theorem, 585
OBJ, 529–531Objectivity Engine, The (Paterson), 164–167Oliveros, Pauline, 582Olsson, Krister, 589Once-Upon-A-Forest (Davis), 564On, Josh, 267–268oN-Line System (NLS), 205OpenCV, 512, 555OpenGL, 512, 520, 528, 531, 537, 554, 684Open source, 4, 268, 271, 512, 521, 555, 591, 625–626, 640, 684OpenType, 111, 169Oracle database, 264OSC (Open Sound Control), 516–517, 571, 589oscP5 (Schlegel), 571Osmose (Davies), 526O’Sullivan, Dan, 635, 648 Oswald, John, 581Owens, Matt, 565
Pad, 435Paik, Nam June, 633 PAL, 367Palm Pilot, 223, 625Palm OS, 625Panasonic, 625Papert, Seymour, 2, 217Parallax, 640Parallel Development, 516Pascal, 522
Reas_09_519-710.indd Sec6:708Reas_09_519-710.indd Sec6:708 5/16/07 12:33:54 PM5/16/07 12:33:54 PM
709 Index
Paterson, James, 165–166, 316, 565, 606Paul, Les, 580PBASIC, 642, 681PC, 10, 227, 388, 625, 665, 682PCB (printed circuit board), 639, 640 PCM (pulse–code modulation), 585–586, 699, 702PDF, 520, 606–608, 682Pelletier, Jean-Marc, 554Penny, Simon, 549Perl, 146, 515–517, 522–523, 565, 571, 681, 684Perlin, Ken, 130Personal area network (PAN), 621–622Petzold, Charles, 648Phidgets, 642Philips, 634 PHP, 267–268, 522–523, 565, 682, 684PHPMyAdmin, 268Physical Computing (O’Sullivan, Igoe), 648Piano Phases (Reich), 293PIC (Microchip), 272, 640PIC Assembler, 271–272PIC BASIC, 681Pickard, Galen, 507Pickering, Will, 516Pixar, 315Pixillation (Schwartz), 315PNG (Portable Network Graphics), 95–96, 98–99, 606, 622, 701Pocket PC, 625PoemPoints, 617Pong, 256, 590, 618PortAudio, 512PostScript, 111, 143, 169–170, 522, 604–605, 681Poynor, Rick, 605Practical Electronics for Inventors (Scherz), 648Practice of Programming,The (Kernighan, Pike), 252Praystation (Davis), 564 Public Enemy, 581Puckette, Miller, 2, 592, 684Pulse–code modulation (PCM), 585–586, 699, 702Pure Data (Pd), 592, 684–685Python, 146, 170, 517, 522–523, 681–682, 684
Q*bert, 525Quartz Composer, 684Qualcomm, 625Quest3D, 275–276
R, 515, 517Raby, Fiona, 634Radial, 503–504RAM, 701RandomFont Beowolf (LettError), 111, 168–170, 605Rauschenberg, Robert, 606Ray Gun, 605 Razorfish, 565RCA Mark II Sound Synthesizer, 580Readme!, 563Real-Time Cmix, 592 Rees, Michael, 526Reeves, Alec 585Reich, Steve, 293Reichardt, Jasia, 522Reiniger, Lotte, 315RenderMan, 315R.E.M. “Animal” (Motion Theory), 378–381ResEdit, 170Resnick, Mitchel, 471, 680Reynolds, Craig, 295, 473, 497Rhino, 271, 537Rich, Kate, 548Riley, Bridget, 151Ringtail Studios, 275Risset, Jean-Claude, 581RoboFog, 170Rokeby, David, 548, 554 Rotoshop, 383–384, 413Royal Academy of Arts, 169Royal College of Art, 634Rozin, Danny, 549RS-232, 639, 554, 640, 645Rubin, Ben, 515, 634Ruby, 681, 684Ruby on Rails, 684Runge-Kutta method 7, 494Russolo, Luigi, 579
Sabiston, Bob, 383–384, 413Saito, Tatsuya, 198, 529, 568Samyn, Michaël, 275Sauter, Joachim, 549 Schaeffer, Pierre, 580 Scheme, 522Scherz, Paul, 648Schiele, Egon, 217
Schlegel, Andreas, 498, 571Schmidt, Karsten (a k a toxi), 4, 518Schoenerwissen/OfCD, 562Schöffer, Nicolas, 633 Schumacher, Michael, 582Schwartz, Lillian, 315Scientific American, 461, 463Scratch, 680Screen Series (Snibbe), 549 Scriptographer (Lehni, Franke), 270–273, 683Seawright, James, 633 sed, 684Semiconductor, 390–393, 646Sessions, Roger 580Sester, Marie, 549Shannon, Claude, 669Shape of Song (Wattenberg), 160–163 Shaw, Jeffrey, 333Shiffman, Daniel, 6Shockwave Flash (SWF), 158, 565Short Messaging Service (SMS), 617, 619, 621SHRDLU, 101sh/tcsh, 515, 684Shulgin, Alexi, 563–564Silicon Graphics, 529, 537Simon, John F. Jr., 413, 565SimpleTEXT, 618Sims, Karl, 295Sinclair Spectrum, 264Singer, Eric, 554Sketchpad, 217SketchUp, 538Slacker, 383Slimbach, Robert, 112Smalltalk, 685Smith, Laura, 275Snake, 618Snibbe, Scott, 413, 549Social Mobiles (SoMo), 634 Sodaconstructor (Burton), 262–265, 413, 499Soda Creative Ltd., 263–264SoftVNS, 554Solidworks, 537Sommerer, Christa, 549Sonami, Laetitia, 582 Sonic Inc., 392Sony, 634Sony Ericsson, 625Sorenson, 388Sorting Daemon (Rokeby), 548, 554Sound Films, 392
Reas_09_519-710.indd Sec6:709Reas_09_519-710.indd Sec6:709 5/16/07 12:33:55 PM5/16/07 12:33:55 PM
710 Index
Spark Fun Electronics, 640SQL (Structured Query Language), 685Srivastava, Muskan, 5Standards and Double Standards (Lozano-Hemmer), 547–548 Star Wars, 315Strausfeld, Lisa, 327Stedelijk Museum, 218Stehura, John, 315STEIM (Studio for Electro- Instrumental Music), 554Steinkamp, Jennifer, 387–388Stipe, Michael, 379–380Stockhausen, Karlheinz, 580Stone, Carl, 582Stop Motion Studies (Crawford), 316Studies in Perception I, (Knowlton, Harmon), 604Substrate (Tarbell), 6, 154, 156–159Sudol, Jeremi, 507Suicide Box, 548, 554Sun Java Wireless Toolkit, 625Sun Microsystems, 521, 537, 625, 682SuperCollider, 571, 592, 685Sutherland, Ivan, 217SVG (Scalable Vector Graphics), 77, 520, 606, 624Symbian, 625Synergenix, 625
Tale of Tales, 274–277Talmud Project (Small), 327Takeluma (Cho), 327Takis, 633Tarbell, Jared, 6, 155–156, 606Tangible Media Group (TMG), 634TARGA, 368, 606, 702Tate Gallery, 218T|C Electronics Powercore, 587tcpdump, 568–569TCP/IP, 554, 569, 589Technics, 507Teddy (Igarashi), 538Telephony (Thompson, Craighead), 618TeleNav, 619Teleo (Making Things), 642Tesla, Nikola, 579Text-to-speech (TTS), 516–517They Rule (On et al.), 266–269Thomson, Jon, 618TIFF, 368, 507, 606, 608, 611, 702
Toy Story, 315Tmema, 510–513Transmission Control Protocol (TCP), 569Tron, 315Truax, Barry, 581TrueType, 111Tsai, Wen–Ying, 633TurboGears, 684Turkle, Sherry, 5Turux (Lia, Dextro), 316Type, Tap, Write (Maeda), 333Tzara, Tristan, 150
Überorgan (Hawkinson), 633Unicode, 432, 665–668University of California Berkeley, 589 Los Angeles (UCLA), xxi, 4, 5, 574 San Diego (UCSD), 549University of Cincinnati (UC), xxiiiUniversity of Genoa, 554UNIX, 227, 435, 517, 569, 645U.S. Army Ballistic Missile Research Laboratories, 603USB, 556, 640–645, 701 User Datagram Protocol (UDP), 554, 569, 589Ussachevsky, Vladimir, 580UTF-8, 665Utterback, Camille, 549
Valicenti, Rick, 605van Blokland, Erik, 169–170van Blokland, Petr, 170VanDerBeek, Stan, 315Vanderlans, Rudy, 605 van Rossum, Just, 169Vaucanson’s Duck, 461Vehicles: Experiments in Synthetic Psychology (Braitenberg), 473Venice Biennale, 391Verschoren, Jan, 275“Video Games and Computer Holding Power” (Turkle), 5Videoplace (Krueger), 547Visual Language Workshop (VLW), 327, 702Visual programming languages (VPL or VL) , 679–680Vitiello, Stephen, 582VLW font format, 112, 702Vogel, Peter, 632, 633Von Ehr, Jim, 170Vonnegut, Kurt, 507
von Neumann, John, 461Vorbis codec, 585Voxel, 527vvvv, 685
Wacom, 383Waking Life, 382–385, 413Walt Disney, 315, 379Wang, Ge, 592Warner Bros. Records, 379Wattenberg, Martin, 161–162, 606 Watz, Marius, 374WAV, 585–586, 621, 623, 702Wayfinder Systems, 619Wegman, William 606Weizenbaum, Joseph, 101Whitney, James, 315Whitney, John, 315Whitney Museum of American Art, 516Wilhelm Imaging Research, 610Wilson, Mark, 152, 217, 604Winograd, Terry, 101Wiring, 521, 633, 640, 641, 645–646, 648–649, 685Wright, Frank Lloyd, 333Wrongbrowser (Jodi), 566 Wolfram, Steven, 461, 463–464, 467, 475Wolfenstein 3D, 525Wong, Andy, 507Wong, Yin Yin, 327
Xenakis, Iannis, 581Xerox Palo Alto Research Center (PARC), 3, 205Xerox, 507xHTML Mobile, 624XML, 421, 427–428, 520, 549, 621, 624, 702
Yamaha Digital Mixing Engine (DME), 516 Yellow Arrow, 618Youngblood, Gene, 388
Ziggurat (font), 112Zooming user interface (ZUI), 435
Reas_09_519-710.indd Sec6:710Reas_09_519-710.indd Sec6:710 5/16/07 12:33:55 PM5/16/07 12:33:55 PM