Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
Processing 2: Creative Coding Hotshot
Processing 2: Creative Coding Hotshot

Processing 2: Creative Coding Hotshot: Learn Processing with exciting and engaging projects to make your computer talk, see, hear, express emotions, and even design physical objects

eBook
$9.99 $28.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Processing 2: Creative Coding Hotshot

Chapter 2. The Stick Figure Dance Company

In Project 1, Romeo and Juliet we learned how to make Processing talk. In this project, we will learn how to make it see and dance. We will use Microsoft's Kinect to implement the seeing part and a dancing human to teach a group of stick figures how to dance. Unless you find someone else who is willing to lead your stick figures, you will have to get up and dance yourself.

Computer vision and 3D scanning have long been the domain of very specialized and expensive hardware and software. With the ever increasing computing power of CPUs and graphics cards, and new hardware controllers like Kinect, computer vision projects have invaded living rooms via various game controllers, and are accessible to everyday programmers like you and me.

Mission Briefing


In this project, we will learn how to connect Microsoft's Kinect to a computer and use depth imaging and user tracking from Processing. We will rush through the installation of the OpenNI framework in the first task, as this library is used by the Processing library SimpleOpenNI. We will then learn how to use the depth image feature of the Kinect infrared camera and the player tracking function in Processing.

Then, we will use the so-called skeleton tracker, not only to locate the user in front of the camera, but also the head, neck, and elbows. These 3D coordinates will allow us to control a stick figure.

In the final task of our current mission, we are going to add a group of additional dancers that will also be controlled by the 3D coordinates of the players' limbs.

You can see a screenshot of the final sketch here:

Why Is It Awesome?

Kinect enables a whole lot of new possibilities for interacting with a computer. It enables the player to control a computer by simply moving...

Connecting the Kinect


In this first task, I will guide you through the installation of the OpenNI framework and a library from PrimeSense (the company that developed the Kinect for Microsoft). We will use OpenNI example programs to test our installation.

Engage Thrusters

  1. At the time of writing, the most recent version of the OpenNI framework was 2.1 Beta, but the Processing framework that we are going to use for our next task requires Version 1.5.4 of the OpenNI framework. Open the site http://www.openni.org/openni-sdk/openni-sdk-history-2/ in your browser, as shown in the following screenshot, and select the download package for your platform:

  2. If you are running Linux or Mac OS X, open a Terminal window, go to the directory where you downloaded the file, and unpack it using the tar command; make sure to unpack it as root by running the install.sh script:

    tar xvjf openni-bin-dev-linux-x86-v1.5.4.0.tar.bz2
    cd OpenNI-Bin-Dev-Linux-x86-v1.5.4.0
    sudo  ./install.sh
    
  3. On Windows, just execute the MSI...

Making Processing see


Our next task is to install the SimpleOpenNI library. This library enables us to use the OpenNI API in Processing. At first, we will learn how to access and display the depth image of the Kinect controller. Then, we will use the user tracking capabilities of the SimpleOpenNI framework and define some callback functions to get notified when a user is detected or when the tracked user disappears. And finally, we will color all the pixels in the depth image that belong to the user to enable the user to see what is being tracked.

Engage Thrusters

Let's teach Processing how to see:

  1. At the time of writing, the SimpleOpenNI framework could not be installed using the new Library Manager. To install it manually, download the SimpleOpenNI package for your operating system from http://code.google.com/p/simple-openni/downloads/list.

  2. Unzip it to a folder named library in your sketchbook folder. You can find the path to the folder in the Preferences dialog.

  3. Restart Processing if it is...

Making a dancer


In the previous section, we used the user-tracking capabilities of the OpenNI framework to locate the user in the depth image provided by the Kinect infrared camera. Now we will take it one step further and locate the body parts of the player. The feature we are going to use in this task is called skeleton tracking . The OpenNI skeleton tracker locates certain key points of a human body, which we will use to construct our stick figure. For each player, the Kinect can see and get the location of the head, neck, torso, shoulders, elbows, hands, hips, knees, and feet.

We are also showing the image of the infrared camera and the user pixels we used in the last section as a little heads-up display (HUD) so that the player is able to see what Kinect is tracking.

Engage Thrusters

  1. We need to create a new Processing sketch and import the SimpleOpenNI library. Then we need to add a setup() and a draw() method.

    import SimpleOpenNI.*;
    
    void setup() {
    }
    
    void draw() {
    }
  2. We create three methods...

Dance! Dance! Dance!


In this final task of the stick figure dance company project, we finally come to the "company" part. So far, we've created one lonely stick figure dancer that is moving in its own little virtual world. And this is going out of fashion. We will now add some more dancers by cloning the one we've already created; to prevent our dancers from being indistinguishable, we will add a little variation here and there.

To make our code more readable, we will create a new class that holds our stick figure data and is responsible for drawing the body of one figure. This class is also used to store the color and size of each dancer.

We will place the dancers in the draw() method and use the translate() method to draw each dancer in another location on the dancefloor.

Engage Thrusters

Let's add more dancers:

  1. Open the sketch you created in the Making a dancer task, and add a new class by clicking on the little arrow icon on the right and choosing New Tab from the menu. The new class is called...

Mission Accomplished


In this project, we taught Processing how to see by connecting the Kinect and installing the OpenNI framework.

We used the depth image provided by the SimpleOpenNI framework and located the user in the image using the tracking capabilities of OpenNI. For every tracked user, the framework provides us with a bitmap defining which pixels belong to the tracked user and which don't. For the last two tasks, we used the depth image with the colored pixels that we created in the second task as an HUD display to enable the player to see what is currently being tracked.

Starting with our third task, we used the skeleton tracker to access the 3D coordinates of the player's limbs and joints and used the information to draw a stick figure that followed the player's moves.

In our final task, we refactored the drawing code for our stick figure to a class and used this class to draw multiple dancers so that our stick figure had some company while dancing.

You Ready to go Gung HO? A Hotshot Challenge


In this project, we only scratched the surface of the possibilities that Kinect offers. It's impossible to describe all of it in one project; you could write a whole book about it. So try to expand the knowledge you've gained in this project to try one of the following:

  • Use the image of the RGB camera to display the player instead of one of the stick figures.

  • Use a more complex 3D model rather than a stick figure for your dancers.

  • Record the moves of the player and replay them after a short delay.

  • Currently, our sketch supports only one player. The OpenNI framework can also track multiple users, so try to add multiplayer support.

Left arrow icon Right arrow icon

Key benefits

  • Teach your computer to create physical objects, visualize data, and program a custom hardware controller
  • Create projects that can be run on a variety of platforms, ranging from desktop computers to Android smartphones
  • Each chapter presents a complete project and guides you through the implementation using easy-to-follow, step-by-step instructions

Description

Processing makes it convenient for developers, artists, and designers to create their own projects easily and efficiently. Processing offers you a platform for expressing your ideas and engaging audiences in new ways. This book teaches you everything you need to know to explore new frontiers in animation and interactivity with the help of Processing."Processing 2: Creative Coding Hotshot' will present you with nine exciting projects that will take you beyond the basics and show you how you can make your programs see, hear, and even feel! With these projects, you will also learn how to build your own hardware controllers and integrate devices such as a Kinect senor board in your Processing sketches.Processing is an exciting programming environment for programmers and visual artists alike that makes it easier to create interactive programs.Through nine complete projects, "Processing 2: Creative Coding Hotshot' will help you explore the exciting possibilities that this open source language provides. The topics we will cover range from creating robot - actors performing Shakespeare's "Romeo and Juliet", to generating objects for 3D printing, and you will learn how to run your processing sketches nearly anywhere from a desktop computer to a browser or a mobile device.

Who is this book for?

This book targets Processing developers ,visual artists, creative professionals, and students who want to move to the next level of learning Processing for gaining inspiration, work, or just for fun. The book assumes a basic understanding of programming. However, this book is also recommended to non-artistic readers, looking to expand their graphics and develop their creativity.

What you will learn

  • Make your computer see, hear, and feel with Processing
  • Have fun with entertaining projects while learning new tricks with Processing
  • Use Processing to teach a pair of cardboard robots to enact famous plays
  • Write code you can run on a variety of devices ranging from your desktop computer to your Android smartphone
  • Learn to build a custom hardware controller and control it using Processing
  • Use Processing to create motion sensor games you can play using your Kinect
  • Design objects you can print using a 3D printer with Processing

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 20, 2013
Length: 266 pages
Edition : 1st
Language : English
ISBN-13 : 9781782166733
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : May 20, 2013
Length: 266 pages
Edition : 1st
Language : English
ISBN-13 : 9781782166733
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $29.97 $90.97 $61.00 saved
Processing 2: Creative Programming Cookbook
$48.99
Processing 2: Creative Coding Hotshot
$48.99
C Programming for Arduino
$54.99
Total $29.97$90.97 $61.00 saved Stars icon
Banner background image

Table of Contents

9 Chapters
Romeo and Juliet Chevron down icon Chevron up icon
The Stick Figure Dance Company Chevron down icon Chevron up icon
The Disco Dance Floor Chevron down icon Chevron up icon
Smilie-O-Mat Chevron down icon Chevron up icon
The Smilie-O-Mat Controller Chevron down icon Chevron up icon
Fly to the Moon Chevron down icon Chevron up icon
The Neon Globe Chevron down icon Chevron up icon
Logfile Geo-visualizer Chevron down icon Chevron up icon
From Virtual to Real Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.2
(9 Ratings)
5 star 44.4%
4 star 33.3%
3 star 22.2%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




thomas Aug 29, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
i am an experienced programmer and wasn't looking for a book explaining the basic principles of the processing language, i just wanted to use processing for making my ideas visible quickly, drawing from the big pool of libraries processing offers. this book exceeded my expectations by far. i built speaking robots in chapter one, finally got to do something with the kinect i had lying around for years but never got to play with, ventured into audio analysis and even learnt how to use shaders!the projects are built up in a couple of small steps that should take no longer than 15 to 30 minutes to accomplish, and always reward you with something that's cool, that works, and that you know beforehand will play a key role in the project you're trying to accomplish. the small steps invite you to begin exploring all their aspects, try out variations and test what's possible. the suggestions for further extensions after every project are funny and challenging :)this book shows you how processing can help you concentrate on the creative work, and not on a programming language or interface barrier. i loved it!
Amazon Verified review Amazon
Hashiba Aug 19, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Processing 2: Creative Coding Hotshot is the perfect book for Processing users that want to tackle more complex projects or for developers with some Java experience that want to dive into the new Processing 2.0 release.The structure of the projects allows you to follow along or "hack as you go". Each chapter introduces the underlying principles of each library and how to use them, but what is more important is how the descriptions puts you in the right "mindset". I suggest you to type the code of each chapter and afterwards expand the examples with your own classes.I specially enjoyed how the author introduced GLSL filters, taking advantage of the OpenGL integration, and building on top of the previous examples.No more excuses, grab this book and start coding like a boss.
Amazon Verified review Amazon
Amazon Customer Apr 30, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Processing is a great free coding language supported by donations. It is simpler to use than Java but compiles into a java program. It has simple 3D and animation capabilities.
Amazon Verified review Amazon
B. Pauzenberger Jul 11, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Neun Projekte, die verschiedenste Technologien kombinieren und in Processing-Anwendungen bündeln, die echt Spaß machen. Auch kleine Hardware-Basteleien kommen nicht zu kurz.Fazit: Kaufempfehlung!
Amazon Verified review Amazon
H. Lamers Jul 29, 2013
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Processing 2: Creative Coding Hotshot is about connecting Processing with hardware. The book is divided into 9 projects which all have their own chapter. To go roughly through them Processing 2: Creative Coding Hotshot shows you how to let Processing talk. How to connect Processing with Kinect hardware or specialized controllers. Processing 2: Creative Coding Hotshot explains also how to create a game which allows you to cover all internet capable platforms. There is a chapter that shows you how to create a geographic information system that takes a web server log-file and shows where the requests of the readers came from. And the last chapter explains how to create and export a 3D object with Processing that can be printed by a 3d printer.What I really liked about Processing 2: Creative Coding Hotshot was the suggestions listed at the end of each chapter. Most of the time when I study a book I just go to the next chapter but these suggestions made it easier for me to continue with the work or make a different approach to the same subject in order to try to reach another level. To summarize Processing 2: Creative Coding Hotshot. If you're not into Processing connected to hardware this book is a good choice to get into it.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.