Complete either Option 1 or Option 2 depending on your interests and available hardware. For both options you may augment your existing code from HW 1 or create something entirely new.
Option 1) Create a Processing sketch that is reactive to sound and/or image. This could take on several forms. For instance it could be:
- graphics that react to an audio input or file
- an audio-reactive image or video filter
- generative graphics derived from image or video pixel data
- a soundscape or music that is derived from graphics, image, or video
- a soundscape or music that is derived from audio input
Option 2) Connect your Arduino to your HW 1 sketch or a new sketch and implement at least 2 forms of hardware input or output. For instance:
- hardware buttons, switches, knobs, sliders, or sensors controlling audio or visual parameters of your sketch. (Note, to meet requirements you could implement two forms of control on a single hardware input. Pushing and holding versus toggling a button, for example.)
- audio or visual data from your sketch controlling LEDs and/or speaker/buzzer output.
I have a large supply of LED’s, buttons, knobs, wire, jumper cables, and resistors available- see me before/after class or during office hours if you need them. I have a limited supply of piezos, flex sensors, touch sliders, and photoresistors (light sensors) available that could possibly be borrowed for the duration of the assignment depending on demand (or at least used during office hours for testing).
For both options, email me your code and be prepared to present your work in class on Monday, May 6th. If you are unsure or have questions about an idea, don’t hesitate to email me with questions. Also, remember it is perfectly acceptable to use office hours as a place to do your homework and get help immediately if you run into problems.
Minim (beta) Reference:
Music Programming with Minim
Create a 2D or 3D Processing “sketch” with the following requirements:
- Create at least one custom object (class) to be used in your sketch. The parameters your object contains are up to you. For instance, maybe your objects have a position, color, size, shape, and velocity. Your object should have at least one custom function for drawing itself (i.e. draw() but it can be called anything you wish). More complex objects might also have an update function or a function for changing the parameters of an object according to set of rules.
- Use at least one primitive or curve in Processing that we did not cover in class, or you may draw a custom shape using any of the Vertex functions (beginShape(), vertex(), endShape(), etc.).
- Create and display many of these objects (exactly how many is up to you). This can be accomplished with an array or an ArrayList and a for loop.
- Your sketch should autonomously change over time or incorporate a form of motion according to a set of rules. Dynamic elements could be color, position, size, shape, etcetera. A simple set of rules could be boundary conditions. For example, an object could change color or size when it hits a boundary. More complicated rules could involve changed based on the number of objects present or how fast they are moving.
- Your sketch should involve at least two forms of interactivity via the mouse or keyboard. If your sketch is 3D, interactivity could be in the form of navigation via a camera controlled by the mouse or keyboard. If your sketch is 2D then you could use the mouse and/or keyboard to control any parameters of your objects.
Title and Description
- Your work must have a title and a short description (150-300 words).
- The description should have two paragraphs. The first should describe your aesthetic intentions and/or future goals regarding the work. The second should describe the implementation- did you build off any example code from class or online? What was the most challenging thing you had to create, add, or modify to achieve your results? How could you add to more dynamism or interactivity to this work in the future?
- Send an email to firstname.lastname@example.org with the subject Art122 Homework #2. In the body of the email include the title and description of your sketch and attach a zip file containing the code.
Due Friday April 19th by 11:59pm.