Learning Processing - 2nd Edition - ISBN: 9780123944436, 9780123947925

Learning Processing

2nd Edition

A Beginner's Guide to Programming Images, Animation, and Interaction

Authors: Daniel Shiffman
eBook ISBN: 9780123947925
Paperback ISBN: 9780123944436
Imprint: Morgan Kaufmann
Published Date: 6th August 2015
Page Count: 564
Tax/VAT will be calculated at check-out Price includes VAT (GST)
53.59
49.95
30.99
35.95
Unavailable
Price includes VAT (GST)
× Read this ebook on your PC, Mac, Apple iOS and Andriod mobile devices and eReader

This ebook is protected by Adobe Content Server digital rights management.

For more information on how to use .acsm files please click the Ebook Format Help link.

Institutional Access

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Table of Contents

  • 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

Description

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.

Key Features

  • 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

Readership

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.


Details

No. of pages:
564
Language:
English
Copyright:
© Morgan Kaufmann 2016
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780123947925
Paperback ISBN:
9780123944436

About the Authors

Daniel Shiffman Author

Affiliations and Expertise

Tisch School of the Arts, New York University, New York, NY, USA