Getting Started with Processing

Errata for Getting Started with Processing

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date Submitted Date Corrected
Page 17 21 26 29

I have ordered this book online and the illustrations on the mentioned pages are very blurry/pixelated and extremely difficult to read it is probably a printing problem. Here is how they look like:

Note from the Author or Editor:
I don't have a copy of this printing of the book, so I don't know if the error is only with these figures, or it applies to more. It looks like a production issue with one printing of the book that wasn't a problem in previous printings.

Anonymous  Sep 12, 2011  Sep 16, 2011
Page 56
code example

The variable diameter is defined but never used in the example.

Note from the Author or Editor:
Yes, good catch. The third line of Example 5-8 on page 56 should be removed.

mxb  Jul 16, 2010  Jan 01, 2011
Page 90
Line 11 and Line 12

The program listing on page 90 uses the files "robot3.svg" and "alpine.jpg" yet these files are not included in

Note from the Author or Editor:
The "" file hosted on the website has now been updated to include these additional files. This doesn't affect the printed book, but is a great fix for people who download the file.

Yong Joseph Bakos  Jul 14, 2010 
Page 96
Example 7-6 code line 17

On line 17 of the code listing for Example 7-6, the text reads: x = startX + ((stopX - startX) * pct); And it should read: y = startY + ((stopY - startY) * pct);

Note from the Author or Editor:
Yes, good catch. It's line 19 if you count the spaces. The line that reads "y = startY + ((stopY-startX) * pct);" should be "y = startY + ((stopY-startY) * pct);"

Yong Joseph Bakos  Jul 15, 2010  Jan 01, 2011
Page 149
Example 10-9 code listing, lines 2 and 3

The array declarations in this listing do not match the rest of the examples in the book. The lines that read: int x[] = new int[num]; int y[] = new int[num]; Should read: int[] x = new int[num]; int[] y = new int[num]; Although this is not a syntax error, the style of the existing array declarations in code listing 10-9 is discouraged in Java.

Note from the Author or Editor:
Yes, another good find. So, for example 10-09, the first three lines should read: int num = 60; int[] x = new int[num]; int[] y = new int[num];

Yong Joseph Bakos  Jul 16, 2010  Jan 01, 2011
Safari Books Online
First paragraph (frame-0001.png), and in code (currentFrame=1)

In Example 10-11, the code implies that the files in the download are numbered from 0001 to 0012, but in fact the download has them as 0000-0011. In the intro paragraph it starts with "frame-0001.png" instead of 0000, and the two assignments of currentFrame are to 1 instead of 0. It still works with 1 (as it does if they're both 11), but it's confusing this way. Also, the if (currentFrame >= images.length) is also confusing. If it's incrementing, how would it be greater than 12? why not use if (currentFram == images.length) instead? Great book -- very well done. Thanks!

Note from the Author or Editor:
Yes, this is improved by updating the text and the code. The text should read "The images are named sequentially (frame-0000.png, frame-0001.png, and so forth),"... And the code should be: int numFrames = 12; // The number of frames PImage[] images = new PImage[numFrames]; // Make the array int currentFrame = 0; void setup() { size(240, 120); for (int i = 0; i < images.length; i++) { String imageName = "frame-" + nf(i, 4) + ".png"; images[i] = loadImage(imageName); // Load each image } frameRate(24); } void draw() { image(images[currentFrame], 0, 0); currentFrame++; // Next frame if (currentFrame == images.length) { currentFrame = 0; // Return to first frame } }

Anonymous  Nov 07, 2010  Jan 01, 2011