Save up to 30% on Elsevier print and eBooks with free shipping. No promo code needed.
Save up to 30% on print and eBooks.
Learning Processing
A Beginner's Guide to Programming Images, Animation, and Interaction
2nd Edition - August 6, 2015
Author: Daniel Shiffman
Language: English
Paperback ISBN:9780123944436
9 7 8 - 0 - 1 2 - 3 9 4 4 4 3 - 6
eBook ISBN:9780123947925
9 7 8 - 0 - 1 2 - 3 9 4 7 9 2 - 5
Learning Processing, Second Edition, is a friendly start-up guide to Processing, a free, open-source alternative to expensive software and daunting programming languages. Requir…Read more
Purchase options
LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code is needed.
Learning Processing, Second Edition, is a friendly start-up guide to Processing, a free, open-source alternative to expensive software and daunting programming languages. Requiring no previous experience, this book is for the true programming beginner. It teaches the basic building blocks of programming needed to create cutting-edge graphics applications including interactive art, live video processing, and data visualization. Step-by-step examples, thorough explanations, hands-on exercises, and sample code, supports your learning curve.
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. The book has been developed with a supportive learning experience at its core. From algorithms and data mining to rendering and debugging, it teaches object-oriented programming from the ground up within the fascinating context of interactive visual media.
This book is ideal for graphic designers and visual artists without programming background who want to learn programming. It will also appeal to students taking college and graduate courses in interactive media or visual computing, and for self-study.
A friendly start-up guide to Processing, a 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 sample code supports your learning curve
Graphic designers and visual artists without programming background who want to learn programming. Students in college and graduate courses in interactive media or visual computing, and for self-study
In memoriam
Acknowledgments
Introduction
What is this book?
Who is this book for?
What is Processing?
But shouldn’t I be learning _________?
Write in this book!
How should I read this book?
Is this a textbook?
Will this be on the test?
Do you have a website?
Take It One Step at a Time
Algorithms
Lesson 1: The Beginning
1: Pixels
1-1 Graph paper
1-2 Simple shapes
1-3 Grayscale color
1-4 RGB color
1-5 Color transparency
1-6 Custom color ranges
2: Processing
2-1 Processing to the rescue
2-2 How do I get Processing?
2-3 The Processing application
2-4 The sketchbook
2-5 Coding in Processing
2-6 Errors
2-7 The Processing reference
2-8 The Run button
2-9 Your first sketch
3: Interaction
3-1 Go with the flow
3-2 Our good friends, setup() and draw()
3-3 Variation with the mouse
3-4 Mouse clicks and key presses
Lesson 2: Everything You Need to Know
4: Variables
4-1 What is a variable?
4-2 Variable declaration and initialization
4-3 Using a variable
4-4 Many variables
4-5 System variables
4-6 Random: variety is the spice of life
4-7 Variable Zoog
4-8 Translation
5: Conditionals
5-1 Boolean expressions
5-2 Conditionals: if, else, else if
5-3 Conditionals in a sketch
5-4 Logical operators
5-5 Multiple rollovers
5-6 Boolean variables
5-7 A bouncing ball
5-8 Physics 101
6: Loops
6-1 What is iteration? I mean, what is iteration? Seriously, what is iteration?
6-2 The while loop, the only loop you really need
6-3 “Exit” conditions
6-4 The for loop
6-5 Local vs. global variables (a.k.a. “variable scope”)
6-6 Loop inside the draw() loop
6-7 Zoog grows arms
Lesson 3: Organization
7: Functions
7-1 Break it down
7-2 “User-defined” functions
7-3 Defining a function
7-4 Simple modularity
7-5 Arguments
7-6 Passing a copy
7-7 Return type
7-8 Zoog reorganization
8: Objects
8-1 I’m down with OOP
8-2 Using an object
8-3 Writing the cookie cutter
8-4 Using an object: the details
8-5 Putting it together with a tab
8-6 Constructor arguments
8-7 Objects are data types too!
8-8 Object-oriented Zoog
Lesson 4: More of the Same
9: Arrays
9-1 Arrays, why do you care?
9-2 What is an array?
9-3 Declaring and creating an array
9-4 Initializing an array
9-5 Array operations
9-6 Simple array example: the snake
9-7 Arrays of objects
9-8 Interactive objects
9-9 Processing’s array functions
9-10 One thousand and one Zoogs
Lesson 5: Putting It All Together
10: Algorithms
10-1 Where have we been? Where are we going?
10-2 Algorithms: Dance to the beat of your own drum
10-3 From idea to parts
10-4 Part 1: The catcher
10-5 Part 2: Intersection
10-6 Part 3: The timer
10-7 Part 4: Raindrops
10-8 Integration: Puttin’ on the ritz
10-9 Getting ready for Act II
11: Debugging
11-1 Tip #1: Take a break
11-2 Tip #2: Get another human being involved
11-3 Tip #3: Simplify
11-4 Tip #4: println() is your friend
12: Libraries
12-1 Libraries
12-2 Built-in libraries
12-3 Contributed libraries
12-4 Manually installing libraries
Lesson 6: The World Revolves Around You
13: Mathematics
13-1 Mathematics and programming
13-2 Modulus
13-3 Random numbers
13-4 Probability review
13-5 Event probability in code
13-6 Perlin noise
13-7 The map() function
13-8 Angles
13-9 Trigonometry
13-10 Oscillation
13-11 Recursion
13-12 Two-dimensional arrays
14: Translation and Rotation (in 3D!)
14-1 The z-axis
14-2 What is P3D exactly?
14-3 Vertex shapes
14-4 Custom 3D shapes
14-5 Simple rotation
14-6 Rotation around different axes
14-7 Scale
14-8 The matrix: pushing and popping
14-9 A Processing solar system
14-10 PShape
Lesson 7: Pixels Under a Microscope
15: Images
15-1 Getting started with images
15-2 Animation with an image
15-3 My very first image processing filter
15-4 An array of images
15-5 Pixels, pixels, and more pixels
15-6 Intro to image processing
15-7 A second image processing filter, making your own tint()
15-8 Writing to another PImage object’s pixels
15-9 Level II: Pixel group processing
15-10 Creative visualization
16: Video
16-1 Live video 101
16-2 Recorded video
16-3 Software mirrors
16-4 Video as sensor, computer vision
16-5 Background removal
16-6 Motion detection
16-7 Computer vision libraries
Lesson 8: The Outside World
17: Text
17-1 Where do strings come from?
17-2 What is a string?
17-3 Displaying text
17-4 Text animation
17-5 Text mosaic
17-6 Rotating text
17-7 Display text character by character
18: Data Input
18-1 Manipulating strings
18-2 Splitting and joining
18-3 Dealing with data
18-4 Working with text files
18-5 Tabular data
18-6 Data that is not in a standardized format
18-7 Text analysis
18-8 XML
18-9 Using the Processing XML class
18-10 JSON
18-11 JSONObject and JSONArray
18-12 Threads
18-13 APIs
19: Data Streams
19-1 Network communication
19-2 Creating a server
19-3 Creating a client
19-4 Broadcasting
19-5 Multi-user communication, Part 1: The server
19-6 Multi-user communication, Part 2: The client
19-7 Multi-user communication, Part 3: All together now
19-8 Serial communication
19-9 Serial communication with handshaking
19-10 Serial communication with strings
Lesson 9: Making Noise
20: Sound
20-1 Basic sound playback
20-2 A bit fancier sound playback
20-3 Sound synthesis
20-4 Sound analysis
20-5 Sound thresholding
20-6 Spectrum analysis
21: Exporting
21-1 Exporting to web
21-2 Stand-alone applications
21-3 High-resolution PDFs
21-4 Images and saveFrame()
21-5 Recording video
Lesson 10: Beyond Processing
22: Advanced Object-Oriented Programming
22-1 Encapsulation
22-2 Inheritance
22-3 An inheritance example: shapes
22-4 Polymorphism
22-5 Overloading
23: Java
23-1 Revealing the wizard
23-2 If you did not have Processing, what would your code look like?
23-3 Exploring the Java API
23-4 Other useful Java classes: ArrayList
23-5 Other useful Java classes: Rectangle
23-6 Exception (error) handling
23-7 Java outside of Processing
Appendix A: Common Errors
Compile-time errors
Runtime errors
A-1 Compile-time errors
A-2 Runtime errors
Index
No. of pages: 564
Language: English
Edition: 2
Published: August 6, 2015
Imprint: Morgan Kaufmann
Paperback ISBN: 9780123944436
eBook ISBN: 9780123947925
DS
Daniel Shiffman
Affiliations and expertise
Tisch School of the Arts, New York University, New York, NY, USA