Programming Media Art Using Processing: A Beginner's Guide provides an entry-level exploration into visual design through computer programming using the open source and artist-friendly language, Processing. Used by hundreds of students, this learning system breaks lessons down into strategic steps towards fun and creative media art projects.
This book provides a linear series of lessons with step-by-step examples that lead to beginning media art projects, including abstract designs, pixel landscapes, rollover animations, and simple video games. Computer programming can be overwhelming for the first-time learner, but this book makes the learning of code more digestible and fun through a full color, well-diagrammed, and deeply explained text presentation. Lessons are rhythmically broken down into digestible parts with code annotations and illustrations that help learners focus on the details one step at a time. The content is legible, flexible, and fun to work with because of its project-based nature.
By following the lessons and producing the projects sequentially in this book, readers will develop the beginning foundational skills needed to understand computer programming basics across many languages and also explore the art of graphic design. Ultimately, this is a hands-on, practical guide.
Author(s): Margaret Noble
Publisher: CRC Press
Year: 2020
Language: English
Pages: 248
City: Boca Raton
Cover
Half Title
Title Page
Copyright Page
Contents
Acknowledgements
Contributors
Author
Introduction
Chapter 1: Designing Graphically with the Language of Code
GETTING STARTED & BASIC OVERVIEW
LESSON 1.1: PIXEL GRID SYSTEM
LESSON 1.2: CODE AND CANVAS WINDOWS
LESSON 1.3: LINES, WIDTH, AND HEIGHT
LESSON 1.4: MORE SHAPES
LESSON 1.5: GRAYSCALE
LESSON 1.6: SYNTAX, COMMENTS, AND ORDER OF CODE
LESSON 1.7: LINE COMMANDS (STROKE AND NO STROKE)
LESSON 1.8: COLORING PIXELS
LESSON 1.9: ADDING TRANSPARENCY VALUES
LESSON 1.10: THE PROCESSING REFERENCE – IMPORTANT RESOURCE!
PROJECT: GEOMETRIC DESIGN
Chapter 2: Creating Responsive Environments
LESSON 2.1: DYNAMIC COMPUTER PROGRAMS
LESSON 2.2: FIRST ANIMATIONS
LESSON 2.3: ANIMATION TRAILS
LESSON 2.4: FINDING EXACT COORDINATES
LESSON 2.5: COMPLEX SHAPES
LESSON 2.6: LINKING SHAPES FOR SYNCHED MOVEMENT
LESSON 2.7: ADDING TEXT
LESSON 2.8: ROTATING SHAPES
PROJECT: INTERACTIVE ENVIRONMENT
Chapter 3: Automated Animations
LESSON 3.1: COUNTING VARIABLES
LESSON 3.2: MOVING OBJECTS IN MULTIPLE DIRECTIONS
LESSON 3.3: GROWING SHAPES WITH THE MOUSE
LESSON 3.4: PRINTLN() FOR DEBUGGING
LESSON 3.5: CONSTRAIN() FOR STOPPING ANIMATIONS
LESSON 3.6: RANDOM() OPPORTUNITIES
LESSON 3.7: AUTOMATED ROTATIONS
PROJECT: AUTOMATED ENVIRONMENT
Chapter 4: Animated Collages
LESSON 4.1: PREPARING AND IMPORTING IMAGERY
LESSON 4.2: MOVING IMAGES
LESSON 4.3: FADING AND COLORING IMAGES USING TINT()
LESSON 4.4: RESIZING IMAGES & MULTIPLES
LESSON 4.5: CONSTRAINING MOUSE MOVEMENTS
LESSON 4.6: VOID KEY PRESSED() WITH IMAGE ROTATIONS
LESSON 4.7: CREATE FONTS
LESSON 4.8: PROJECT OPTIMIZATION AND NOSMOOTH()
PROJECT: ANIMATED AND INTERACTIVE COLLAGE
Chapter 5: Conditional Interactions and Rollovers
LESSON 5.1: CONDITIONAL STATEMENTS AND RELATIONAL OPERATORS
LESSON 5.2: CONDITIONAL STATEMENTS WITH CUSTOM VARIABLES
LESSON 5.3: AND vs. OR
LESSON 5.4: LOGICAL OPERATORS DEFINING SPACES
LESSON 5.5: VARIATIONS WITH MOUSEAND KEYBOARD ACTIONS
LESSON 5.6: TWO VARIABLES: ALTERNATING MOVEMENTS
LESSON 5.7: COLOR DETECTION USING THE GET() FUNCTION
PROJECT: ROLLOVER ANIMATION
Chapter 6: Events and Interactions for Simple Games: Part 1
LESSON 6.1: TURNING THINGS ON WITH BOOLEAN VARIABLES
LESSON 6.2: TOGGLING BETWEEN TWO STATES USING BOOLEAN VARIABLES
LESSON 6.3: MULTIPLE BUTTONS ALTERNATING
LESSON 6.4: BOOLEANS WORKING WITH NUMERICAL VARIABLES
LESSON 6.5: SPECIFIC KEYBOARD INTERACTIONS
LESSON 6.6: CREATING A WALKING CHARACTER
LESSON 6.7: BOUNDARIES
Chapter 7: Events and Interactions for Simple Games: Part 2
LESSON 7.1: TIMERS
LESSON 7.2: CONTINUOUS MOTION KEY CONTROLS
LESSON 7.3: FOR LOOPS ARE EFFICIENT
LESSON 7.4: COLOR DETECTION WITH FOR LOOPS
LESSON 7.5: GAME CREATION FROM KEYS, LOOPS, AND COLOR DETECTION
LESSON 7.6: IMAGE COLLISIONS WITH THE DISTANCE() FUNCTION
LESSON 7.7: TWO PLAYERS, DIRECTIONAL MOVEMENT, AND JUMPING!
Chapter 8: Multilevel Architectures and Arrays
LESSON 8.1: BASIC LEVELS ARCHITECTURE
LESSON 8.2: STATES WITHIN LEVELS
LESSON 8.3: ARRAYS
LESSON 8.4: IMAGE ARRAYS
LESSON 8.5: PLAYER OPTIONS
LESSON 8.6: CHOICE-BASED PROJECTS
CONCLUSION
FINAL PROJECT: MULTILEVEL INTERACTIVE EXPERIENCE
INDEX