- •Credits
- •About the Author
- •About the Reviewers
- •www.PacktPub.com
- •Table of Contents
- •Preface
- •Mission Briefing
- •Making Processing talk
- •Reading Shakespeare
- •Adding more actors
- •Building robots
- •Mission Accomplished
- •Mission Briefing
- •Connecting the Kinect
- •Making Processing see
- •Making a dancer
- •Dance! Dance! Dance!
- •Mission Accomplished
- •Mission Briefing
- •Can you hear me?
- •Blinking to the music
- •Making your disco dance floor
- •Here come the dancers
- •Mission Accomplished
- •Mission Briefing
- •Drawing your face
- •Let me change it
- •Hello Twitter
- •Tweet your mood
- •Mission Accomplished
- •Mission Briefing
- •Connecting your Arduino
- •Building your controller
- •Changing your face
- •Putting it in a box
- •Mission Accomplished
- •Mission Briefing
- •Drawing a sprite
- •Initiating the landing sequence
- •Running your sketch in the browser
- •Running the game on an Android phone
- •Mission Accomplished
- •Mission Briefing
- •Rotating a sphere
- •Let there be light
- •From sphere to globe
- •From globe to neon globe
- •Mission Accomplished
- •Mission Briefing
- •Reading a logfile
- •Geocoding IP addresses
- •Red Dot Fever
- •Interactive Red Dot Fever
- •Mission Accomplished
- •Mission Briefing
- •Beautiful functions
- •Generating an object
- •Exporting the object
- •Making it real
- •Mission Accomplished
- •Index
Symbols
3D scanning 29
A
addButton() method 221 Android phone
moon-lander game, running on 156-160
Arduino 112, 135
Arduino board
connecting, to computer 112-118
Arduino IDE
URL, for installing 113
ASUS Xtion 34 AudioPlayer object 55 AVR microcontroller 111
B
BarHorizontal visualizer 64
BeatVisualizer class 67 beginShape() method 46, 88, 139, 143 Blender 46
bouncing 128 browser application
moon-lander game, converting to 152-156
C
checkSongEnd() method 75, 80 color() command 87 computer
Kinect, connecting to 31-34 computer vision 29 controller
creating, for Smilie-O-Mat sketch 118-126
Index
ControlP5 221
Creative Commons license 173 curveVertex() command 88
D
debouncing 128, 135 Desktop 3D printing 218 disco dance floor
adding, to Processing sketch 76-81 checklist 54
creating 53, 70-75 Hotshot Objectives 54 ideas, for improvement 83
Processing sketch, writing for MP3 file 54-57 visualizers, creating 58-70
dots
drawing, on map 202-207
Drama thread about 8 creating 11-17
TTS objects, adding to 17-23 drawButton() method 104 drawDancefloor() method 45 drawDancer() method 42, 46 drawDancers() method 51 drawFinished() method 149 drawFloor() method 81 drawGlobe() method 212 drawHUD() method 41 drawLandingZone() method 141 drawLimb() method 49 drawMeta() method 81 draw() method 139, 190 drawMoon() method 139 drawPin() method 212 drawShip() method 142
drawSliders() method 90, 103 drawWaiting() method 149
E
enableDepth() method 35 endShape() method 46, 88, 139, 143
F
face
drawing, Processing used 86-90 facial parameters
controlling, for smiley 127-130 modifying, of smiley 90-94 fill() method 21
frameRate() method 167 FreeTTS library 9, 22
G
geoCode() method 196, 200 geographic information systems (GIS) about 189
checklist 190 creating 189
dots, drawing on map 202-207 extending 215
features 189
Hotshot Objectives 190
IP addresses, geocoding 194-201 logfile, reading 190-194
pins, adding to globe 208-214 getR() function 219 getUsersPixel() method 41 getUsersPixels() method 38 globe
converting, to neon globe 179-187 pins, adding to 208-214
sphere, converting to 173-179 graphical user interface 111
H
HashMap 195
heads-up display (HUD) 38 housing
building, for Smilie-O-Mat Controller 130-134
I
initGlobe() method 208, 209 initPoints() method 219 installation check
Processing sketch, creating for 9-11 interface 59
IP addresses geocoding 194-201
J
jointPositionSkeleton() method 46
K
keyPressed() method 146, 210 keys.txt file 96
Kinect about 30
connecting, to computer 31-34
L
landing sequence, moon-lander game initiating 144-151
libfreenect 38 light sources
used, for illuminating sphere 168-173 line() method 46
list() method 17 loadPlaylist() function 72 loadStrings() method 194 logAverages() method 56 logfile
parsing 190-194
LogRow class 193 Lunar Lander game 137
M
makeSphere() method 165, 168, 210 map
dots, drawing on 202-207 map() command 90 match() method 191 MBROLA 23
246
mesh
creating, for sphere 164-168
Minim 53, 58 mood faces
tweeting 102-109 moon-lander game about 137 checklist 138
converting, to browser application 152-156 extending 162
features 137
Hotshot Objectives 138
landing sequence, initiating 144-151 running, on Android phone 156-160 sprite, drawing 138-143
mouse 111
mouseClicked() method 101, 150 mouseDragged() method 93, 103, 224 mousePressed() method 11, 55, 92, 103, 224 mouseReleased() method 93 mouseRelease() method 92
MP3 file
Processing sketch, writing for 54-57
N
neon globe
globe, converting to 179-187 neon globe project
about 163 checklist 164 features 163
globe, converting to neon globe 179-187 Hotshot Objectives 164
light sources, using for illumination 168-173 mesh, creating for sphere 164-168 sphere, converting to globe 173-179
O
onEndCalibration() function 40 onLostUser() method 38 onNewUser() method 38, 40 onStartPose() function 41 onUserLost() function 40
OpenGL Shading Language (GLSL) 179 orientation() method 159
P
parseIpDatabase() method 195, 199 parseLogfile() method 191, 192, 199 PFont class 17
pins
adding, to globe 208-214
Plain Old Java Object (POJO) 17 popMatrix() method 142, 143 PrimeSense Sensors 34 println() method 118 Processing
about 53
Drama thread, creating 11-17 Shakespeare script, reading 11-17 speaking capabilities, adding to 9-11 used, for drawing face 86-90
Processing.js mode 152, 153 Processing sketch
creating, for installation check 9-11 disco dancer floor, adding to 76-81 writing, for MP3 file 54-57
PShape object 168 pushMatrix() method 142, 143
R
radians() method 166 randomize() method 49 rat nest wiring 134 Red Dot Fever creating 201-207
ReplicatorG about 239 URL 239
reset() method 148 robot-actors extending 27 robots
about 7 building 23-26 robots project about 7 features 8
Hotshot Objectives 8 Processing sketch, creating for
installation check 9-11
247
robots, building 23-26
TTS objects, adding to Drama thread 17-23 rotate() function 138, 142, 143
rotateX() method 167 rotateY() method 167
S
serialEvent() method 127-130 serial library 118
Serial object 118 setMirror() method 35 setTexture() method 179 setupGUI() function 221 setup() method 139, 191 Shakespeare script reading 11-17 shape() method 166
SimpleDateFormat class 192
SimpleOpenNI library 29, 35 skeleton tracking 38 smiley
facial parameters, controlling for 127-130 facial parameters, modifying 90-94
Smilie-O-Mat Controller about 111
Arduino board, connecting to computer 112-118
building 118-126 checklist 112
facial parameters, controlling of smiley 127-130 features 111
Hotshot Objectives 112 housing, building for 130-134
Smilie-O-Mat program checklist 86 creating 85
facial parameters, modifying 90-94 features 85
Hotshot Objectives 86 ideas, for improvements 109
mood faces, tweeting 102-109 Processing used, for drawing face 86-90 status update, posting on Twitter 94-102
Smilie-O-Mat sketch
controller, creating for 118-126 extending, ways 135
speaking capabilities adding, to Processing 9-11 speak() method 11 sphere
converting, to globe 173-179 mesh, creating for 164-167 rotating 164-168
sprite, moon-lander game drawing 138-143 status update
posting, on Twitter 94-102 stick figure dance company project about 29
checklist 31 dancer, adding 46-52
dancer, creating 38-46
Kinect, connecting to computer 31-34 objectives 31
Processing, viewing 35-38 skeleton tracking, performing 38-46
STL (STereo Lithography) 232 STUDIO7DESIGNS 173
T
tick() method 62, 66 toggleBox() method 221 translate() function 138, 142, 143 Triangle Soup 232
ttslib package 9, 22 TTS objects
adding, to Drama thread 17-23 tweet() method 126
status update, posting on 94-102 URL 94
Twitter4J about 85 URL 94
U
update() method 147 updateStatus() method 101
248
V
vase project
2D shape, creating 218-223
3D object, generating 224-231 about 217
checklist 218
curves, drawing 218-223 features 218
object, exporting 232-238 object, printing 238-241 vertex() command 143, 165 visualizers
creating 58-70
X
Xbox 360 31
Xerox PARC 111
249
Thank you for buying
Processing 2: Creative Coding Hotshot
About Packt Publishing
Packt, pronounced 'packed', published its first book "Mastering phpMyAdmin for Effective MySQL Management" in April 2004 and subsequently continued to specialize in publishing highly focused books on specific technologies and solutions.
Our books and publications share the experiences of your fellow IT professionals in adapting and customizing today's systems, applications, and frameworks. Our solution based books give you the knowledge and power to customize the software and technologies you're using to get the job done. Packt books are more specific and less general than the IT books you have seen in the past. Our unique business model allows us to bring you more focused information, giving you more of what you need to know, and less of what you don't.
Packt is a modern, yet unique publishing company, which focuses on producing quality, cutting-edge books for communities of developers, administrators, and newbies alike. For more information, please visit our website: www.packtpub.com.
About Packt Open Source
In 2010, Packt launched two new brands, Packt Open Source and Packt Enterprise, in order to continue its focus on specialization. This book is part of the Packt Open Source brand, home to books published on software built around Open Source licences, and offering information to
anybody from advanced developers to budding web designers. The Open Source brand also runs Packt's Open Source Royalty Scheme, by which Packt gives a royalty to each Open Source project about whose software a book is sold.
Writing for Packt
We welcome all inquiries from people who are interested in authoring. Book proposals should be sent to author@packtpub.com. If your book idea is still at an early stage and you would like to discuss it first before writing a formal book proposal, contact us; one of our commissioning editors will get in touch with you.
We're not just looking for published authors; if you have strong technical skills but no writing experience, our experienced editors can help you develop a writing career, or simply get some additional reward for your expertise.
Processing 2: Creative
Programming Cookbook
ISBN: 978-1-84951-794-2 |
Paperback: 306 pages |
Over 90 highly-effective recipes to unleash your creativity with interactive art, graphics, computer vision, 3D, and more
1.Explore the Processing language with a broad range of practical recipes for computational art and graphics
2.Wide coverage of topics including interactive art, computer vision, visualization, drawing in 3D, and much more with Processing
3.Create interactive art installations and learn to export your artwork for print, screen, Internet, and mobile devices
jMonkeyEngine 3.0
Beginner's Guide
ISBN: 978-1-84951-646-4 |
Paperback: 314 pages |
Develop professional 3D games for desktop, web and mobile all in the familiar Java programming language
1.Create 3D games that run on Android devices, Windows, Mac OS, Linux desktop PCs and in web browsers – for commercial, hobbyists, or educational purposes.
2.Follow end-to-end examples that teach essential concepts and processes of game development, from the basic layout of a scene to interactive game characters.
3.Make your artwork come alive and publish your game to multiple platforms, all from one unified development environment.
Please check www.PacktPub.com for information on our titles
Kinect for Windows SDK
Programming Guide
ISBN: 978-1-84969-238-0 |
Paperback: 392 pages |
Build motion-sensing applications with Microsoft's Kinect for Windows SDK quickly and easily
1.Building application using Kinect for Windows SDK.
2.Covers the Kinect for Windows SDK v1.6
3.A practical step-by-step tutorial to make learning easy for a beginner.
4.A detailed discussion of all the APIs involved and the explanations of their usage in detail
Raspberry Pi Home Automation with Arduino
ISBN: 978-1-84969-586-2 |
Paperback: 176 pages |
Automate your home with a set of exciting projects for the Raspberry Pi!
1.Learn how to dynamically adjust your living environment with detailed step-by-step examples
2.Discover how you can utilize the combined power of the Raspberry Pi and Arduino for your own projects
3.Revolutionize the way you interact with your home on a daily basis
Please check www.PacktPub.com for information on our titles
