Book description
Make cool stuff. If you're a designer or artist without a lot of programming experience, this book will teach you to work with 2D and 3D graphics, sound, physical interaction, and electronic circuitry to create all sorts of interesting and compelling experiences -- online and off.
Programming Interactivity explains programming and electrical engineering basics, and introduces three freely available tools created specifically for artists and designers:
- Processing, a Java-based programming language and environment for building projects on the desktop, Web, or mobile phones
- Arduino, a system that integrates a microcomputer prototyping board, IDE, and programming language for creating your own hardware and controls
- OpenFrameworks, a coding framework simplified for designers and artists, using the powerful C++ programming language
BTW, you don't have to wait until you finish the book to actually make something. You'll get working code samples you can use right away, along with the background and technical information you need to design, program, build, and troubleshoot your own projects. The cutting edge design techniques and discussions with leading artists and designers will give you the tools and inspiration to let your imagination take flight.
Publisher resources
Table of contents
- A Note Regarding Supplemental Files
- Preface
-
I. Introductions
- 1. Introducing Interaction Design
- 2. Programming Basics
-
3. Processing
- Downloading and Installing Processing
- Exploring the Processing IDE
- The Basics of a Processing Application
- The Basics of Drawing with Processing
- Capturing Simple User Interaction
- Importing Libraries
- Loading Things into Processing
- Running and Debugging Applications
- Exporting Processing Applications
- Conclusion
- Review
- 4. Arduino
- 5. Programming Revisited
- 6. openFrameworks
-
II. Themes
-
7. Sound and Audio
- Sound As Feedback
- Sound and Interaction
- How Sound Works on a Computer
- Audio in Processing
- Sound in openFrameworks
- openFrameworks and the FMOD Ex Library
- The Sound Object Library
- The Magic of the Fast Fourier Transform
- Physical Manipulation of Sound with Arduino
- A Quick Note on PWM
- Creating Interactions with Sound
- Further Resources
- Review
-
8. Physical Input
- Interacting with Physical Controls
- Thinking About Kinetics
- Getting Gear for This Chapter
- Controlling Controls
- Turning Knobs
- Using Lights
- Detecting Touch and Vibration
- Communicating with Other Applications
- Sending Messages from the Arduino
- Detecting Motion
- Reading Distance
- Understanding Binary Numbers
- Detecting Forces and Tilt
- Introducing I2C
- What Is a Physical Interface?
- What’s Next
- Review
- 9. Programming Graphics
- 10. Bitmaps and Pixels
- 11. Physical Feedback
-
12. Protocols and Communication
- Communicating Over Networks
- Using XML
- Understanding Networks and the Internet
- Handling Network Communication in Processing
- Understanding Protocols in Networking
- Using ofxNetwork
- Creating Networks with the Arduino
- Using Carnivore to Communicate
- Communicating with Bluetooth
- Communicating Using MIDI
- Review
-
7. Sound and Audio
-
III. Explorations
-
13. Graphics and OpenGL
- What Does 3D Have to Do with Interaction?
- Understanding 3D
- Working with 3D in Processing
- Making Custom Shapes in Processing
- Using Coordinates and Transforms in Processing
- Working with 3D in OpenGL
- Using Matrices and Transformations in OpenGL
- Using Vertices in OpenGL
- Drawing with Textures in oF
- Lighting in OpenGL
- Blending Modes in OpenGL
- Using Textures and Shading in Processing
- Using Another Way of Shading
- Using an ofShader Addon
- What to Do Next
- Review
- 14. Detection and Gestures
- 15. Movement and Location
- 16. Interfaces and Controls
- 17. Spaces and Environments
- 18. Further Resources
-
13. Graphics and OpenGL
- A. Circuit Diagram Symbols
- Programming Glossary
- Index
- Colophon
- Copyright
Product information
- Title: Programming Interactivity
- Author(s):
- Release date: July 2009
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596154141
You might also like
article
Run Llama-2 Models Locally with llama.cpp
Llama is Meta’s answer to the growing demand for LLMs. Unlike its well-known technological relative, ChatGPT, …
article
Use Github Copilot for Prompt Engineering
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …
book
Beginning IoT Projects: Breadboard-less Electronic Projects
Experiment with building IoT projects without the demanding time or patience required to learn about electronics. …
book
Programming Arduino Projects with the PIC Microcontroller: A Line-by-Line Code Analysis and Complete Reference Guide for Embedded Programming in C
Now that you’ve built a few Arduino projects, and reused some pre-written sketches, it’s time to …