The free, open-source Processing programming language environment was created at MIT for people who want to develop images, animation, and sound. Based on the ubiquitous Java, it provides an alternative to daunting languages and expensive proprietary software. <br><br>This book gives graphic designe
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
✍ Scribed by Daniel Shiffman
- Publisher
- Morgan Kaufmann
- Year
- 2008
- Tongue
- English
- Leaves
- 472
- Series
- Morgan Kaufmann Series in Computer Graphics
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
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Издательство: Morgan Kaufmann Год: 2008 Страниц: 472 Формат: pdf Размер: 5.72 Мб ISBN: 978-0-12-373602-4 Качество: super fine (OCR)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. Within these pages, ITP (Tisch School of the Arts, New York University) professor Daniel Shiffman demonstrates the fundamentals of programming that will expand your understanding of what is possible in the world of computer graphics. By travelling beyond the confines of proprietary software, you will be empowered to create your own custom design tools. * A friendly start-up guide to Processing, the visual artist s free, open-source alternative to expensive software and daunting programming languages. * No previous experience required this book is for the true programming beginner! * Step-by-step examples, thorough explanations, hands-on exercises, and simple code samples support your learning curve. Source code and supplemental tutorials are also available through an online companion site. 85
✦ Table of Contents
Front Cover......Page 1
Learning Processing......Page 4
Copyright Page......Page 5
Contents......Page 6
Acknowledgments......Page 8
What is Processing ?......Page 10
But shouldn’t I be Learning ____ ?......Page 12
How should I read this book?......Page 13
Is this a textbook?......Page 14
Do you have a web site?......Page 15
Take It One Step at a Time......Page 16
Algorithms......Page 17
Lesson 1: The Beginning......Page 20
1.1 Graph Paper......Page 22
1.2 Simple Shapes......Page 24
1.3 Grayscale Color......Page 28
1.4 RGB Color......Page 31
1.6 Custom Color Ranges......Page 33
2.1 Processing to the Rescue......Page 36
2.3 The Processing Application......Page 37
2.4 The Sketchbook......Page 38
2.5 Coding in Processing......Page 39
2.6 Errors......Page 41
2.7 The Processing Reference......Page 43
2.8 The "Play" Button......Page 44
2.9 Your First Sketch......Page 45
2.10 Publishing Your Program......Page 47
3.1 Go with the flow......Page 50
3.2 Our Good Friends, setup() and draw()......Page 51
3.3 Variation with the Mouse......Page 54
3.4 Mouse Clicks and Key Presses......Page 58
Lesson One Project......Page 61
Lesson 2: Everything You Need to Know......Page 62
4.1 What is a Variable?......Page 64
4.2 Variable Declaration and Initialization......Page 66
4.3 Using a Variable......Page 68
4.4 Many Variables......Page 71
4.5 System Variables......Page 72
4.6 Random: Variety is the spice of life......Page 74
4.7 Variable Zoog......Page 76
5.1 Boolean Expressions......Page 78
5.2 Conditionals: If, Else, Else If......Page 79
5.3 Conditionals in a Sketch......Page 82
5.4 Logical Operators......Page 85
5.5 Multiple Rollovers......Page 88
5.6 Boolean Variables......Page 89
5.7 A Bouncing Ball......Page 92
5.8 Physics 101......Page 97
6.1 What is iteration? I mean, what is iteration? Seriously, what is iteration?......Page 100
6.2 "WHILE" Loop, the Only Loop You Really Need......Page 102
6.3 "Exit" Conditions......Page 105
6.4 "FOR" Loop......Page 106
6.5 Local vs. Global Variables (AKA "Variable Scope")......Page 109
6.6 Loop Inside the Main Loop......Page 112
6.7 Zoog grows arms......Page 114
Lesson Two Project......Page 117
Lesson 3: Organization......Page 118
7.1 Break It Down......Page 120
7.3 Defining a Function......Page 122
7.4 Simple Modularity......Page 123
7.5 Arguments......Page 126
7.6 Passing a Copy......Page 131
7.7 Return Type......Page 133
7.8 Zoog Reorganization......Page 136
8.1 I'm down with OOP......Page 140
8.2 Using an Object......Page 141
8.3 Writing the Cookie Cutter......Page 143
8.4 Using an Object: The Details......Page 145
8.5 Putting It Together with a Tab......Page 146
8.6 Constructor Arguments......Page 149
8.8 Object-Oriented Zoog......Page 153
Lesson Three Project......Page 156
Lesson 4: More of the Same......Page 158
9.1 Arrays, why do we care?......Page 160
9.2 What is an array?......Page 163
9.3 Declaring and Creating an Array......Page 164
9.4 Initializing an Array......Page 166
9.5 Array Operations......Page 167
9.6 Simple Array Example: The Snake......Page 169
9.7 Arrays of Objects......Page 172
9.8 Interactive Objects......Page 174
9.9 Processing's Array Functions......Page 177
9.10 One Thousand and One Zoogs......Page 179
Lesson Four Project......Page 181
Lesson 5: Putting It All Together......Page 182
10.1 Where have we been? Where are we going?......Page 184
10.2 Algorithm: Dance to the beat of your own drum......Page 185
10.3 From Idea to Parts......Page 186
10.4 Part 1: The Catcher......Page 187
10.5 Part 2: Intersection......Page 189
10.6 Part 3: The Timer......Page 194
10.7 Part 4: Raindrops......Page 197
10.8 Integration: Puttin' on the Ritz......Page 201
10.9 Getting Ready for Act II......Page 207
Lesson Five Project......Page 209
11.2 Tip #2: Get another human being involved......Page 210
11.3 Tip #3: Simplify......Page 211
11.4 Tip #4: println() is your friend......Page 212
12.1 Libraries......Page 214
12.3 Contributed Libraries......Page 215
Lesson 6: The World Revolves Around You......Page 218
13.1 Mathematics and Programming......Page 220
13.2 Modulus......Page 221
13.3 Random Numbers......Page 222
13.4 Probability Review......Page 223
13.5 Event Probability in Code......Page 224
13.6 Perlin Noise......Page 226
13.7 Angles......Page 229
13.8 Trigonometry......Page 231
13.9 Oscillation......Page 233
13.10 Recursion......Page 235
13.11 Two-Dimensional Arrays......Page 239
14.1 The Z-Axis......Page 246
14.2 P3D vs. OPENGL......Page 251
14.3 Vertex Shapes......Page 252
14.4 Custom 3D Shapes......Page 254
14.5 Simple Rotation......Page 256
14.6 Rotation Around Different Axes......Page 258
14.8 The Matrix: Pushing and Popping......Page 261
14.9 A Processing Solar System......Page 268
Lesson Six Project......Page 271
Lesson 7: Pixels Under a Microscope......Page 272
15.1 Getting Started with Images......Page 274
15.2 Animation with an Image......Page 276
15.3 My Very First Image Processing Filter......Page 278
15.4 An Array of Images......Page 279
15.5 Pixels, Pixels, and More Pixels......Page 281
15.6 Intro to Image Processing......Page 284
15.7 Our Second Image Processing Filter, Making Our Own Tint()......Page 285
15.8 Writing to Another PImage Object's Pixels......Page 286
15.9 Level II: Pixel Group Processing......Page 288
15.10 Creative Visualization......Page 291
16.1 Before Processing......Page 294
16.2 Live Video 101......Page 295
16.3 Recorded Video......Page 300
16.4 Software Mirrors......Page 302
16.5 Video as Sensor, Computer Vision......Page 308
16.6 Background Removal......Page 312
16.7 Motion Detection......Page 315
16.8 Computer Vision Libraries......Page 318
16.9 The Sandbox......Page 319
Lesson Seven Project......Page 320
Lesson 8: The Outside World......Page 322
17.1 Where do Strings come from?......Page 324
17.2 What is a String?......Page 325
17.3 Displaying Text......Page 328
17.4 Text Animation......Page 330
17.5 Text Mosaic......Page 333
17.6 Rotating Text......Page 335
17.7 Display text character by character......Page 337
18.1 Manipulating Strings......Page 344
18.2 Splitting and Joining......Page 345
18.3 Reading and Writing Text Files......Page 348
18.4 Text Parsing......Page 354
18.5 Text Analysis......Page 359
18.6 Asynchronous Requests......Page 360
18.7 Beginner XML......Page 363
18.8 Using the Processing XML Library......Page 368
18.9 The Yahoo API......Page 371
18.10 Sandbox......Page 373
19.1 Synchronous vs. Asynchronous......Page 376
19.2 Creating a Server......Page 377
19.3 Creating a Client......Page 380
19.4 Broadcasting......Page 382
19.5 Multi-User Communication, Part 1: The Server......Page 385
19.6 Multi-User Communication, Part 2: The Client......Page 388
19.7 Multi-User Communication, Part 3: All Together Now......Page 390
19.8 Serial Communication......Page 391
19.9 Serial communication with handshaking......Page 393
19.10 Serial Communication with Strings......Page 395
Lesson Eight Project......Page 397
Lesson 9: Making Noise......Page 398
20.1 Really Simple Sound......Page 400
20.2 Getting Started with Sonia and Minim......Page 401
20.3 Basic Sound Playback......Page 402
20.4 A Bit Fancier Sound Playback......Page 408
20.5 Live input......Page 410
20.6 Sound Thresholding......Page 412
21.2 Stand-Alone Applications......Page 416
21.3 High-Resolution PDFs......Page 418
21.4 Images/saveFrame()......Page 421
21.5 MovieMaker......Page 422
Lesson Nine Project......Page 425
Lesson 10: Beyond Processing......Page 426
22.1 Encapsulation......Page 428
22.2 Inheritance......Page 431
22.3 An Inheritance Example: SHAPES......Page 434
22.4 Polymorphism......Page 437
22.5 Overloading......Page 440
23.2 If we did not have Processing, what would our code look like?......Page 442
23.3 Exploring the Java API......Page 444
23.4 Other Useful Java Classes: ArrayList......Page 447
23.5 Other Useful Java Classes: Rectangle......Page 451
23.6 Exception (Error) Handling......Page 453
23.7 Java Outside of Processing......Page 455
Appendix: Common Errors......Page 458
C......Page 466
F......Page 467
J......Page 468
O......Page 469
S......Page 470
T......Page 471
Z......Page 472
✦ Subjects
Информатика и вычислительная техника;Компьютерная графика;
📜 SIMILAR VOLUMES
<p>This book teaches the basic building blocks of programming needed to create cutting-edge graphics applications including interactive art, live video processing, and data visualization.</p><p>A unique lab-style manual, this book gives graphic and web designers, artists, illustrators, and anyone in
I'm a semi-experienced programmer who is new to visual arts. I thought that this book might have been too basic for my needs, but I'm having a blast going through it. The examples are lively, but without that "golly, aren't we having fun!?" tone that I find in other beginner programming books. Ev
There are three popular books that teach Processing to a reasonably advanced level: this one, Processing: A Programming Handbook for Visual Designers and Artists, by Reas and Fry, and Processing: Creative Coding and Computational Art, by Greenberg. They are all aimed at beginning programmers who are
This book is confusing and worthless. It has too much cutesy "filler" writing, is too ambiguous, is too confusing. What is so hard about just being straightforward?