»
Learning Processing
 
 

Learning Processing, 2nd Edition

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

 
Learning Processing, 2nd Edition,Daniel Shiffman,ISBN9780123944436
 
 
Up to
15%
off
 

  

Morgan Kaufmann

9780123944436

9780123947925

564

235 X 191

Learn the fundamentals of computer programming within a visual playground!

Print Book + eBook

USD 59.94
USD 99.90

Buy both together and save 40%

Print Book

Paperback

In Stock

Estimated Delivery Time
USD 42.46
USD 49.95

eBook
eBook Overview

EPUB format

PDF format

VST (VitalSource Bookshelf) format

USD 42.46
USD 49.95
Add to Cart
 
 

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

Description

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.

A unique lab-style manual, this book gives graphic and web designers, artists, illustrators, and anyone interested in learning to code a jumpstart on working with the Processing programming environment by providing instruction on the basic principles of the language, followed by careful explanations of advanced techniques.

From algorithmic design to data visualization, to computer vision and 3D graphics, this book teaches object-oriented programming from the ground up within the fascinating context of interactive visual media and creative coding. It is also supported by a companion website (learningprocessing.com), which includes all examples running in the browser using HTML5 canvas and p5.js, downloadable versions of all source code, answers to select chapter exercises, and over twenty hours of companion video lessons.

     

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.

Daniel Shiffman

Affiliations and Expertise

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

Learning Processing, 2nd Edition

  • 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
 
 
Free Shipping
Shop with Confidence

Free Shipping around the world
▪ Broad range of products
▪ 30 days return policy
FAQ

Contact Us