Take off from Creative Coding Cookbook , Chapter 12