Lynda.Nakashima
Project 2
due October 8, 2008
THE PROJECT DESCRIPTION:
The contemporary computer scene is dominated by the graphical user interface (GUI). For almost every task, from manipulating text, imagery, sound, video, to configuring a computer's operating system (e.g. control panels), from searching for and organizing information (e.g. the web), to the process of programming (e.g. integrated development environments), there are special purpose GUI tools supporting the task through analogies to embodied interaction with physical objects. But no tool is neutral; every tool bears the marks of the historical process of its creation, literally encoding the biases and viewpoints of its creators, offering affordances for some interactions while making other interactions difficult or impossible to perform or even conceive. While the ability to program does not bring absolute freedom (you can never step outside of culture, and of course programming languages are themselves tools embedded in culture), it does open up a region of free play, allowing the artist to encode his/her own biases and viewpoint. What graphical tools would you create?
Create your own drawing tool, emphasizing algorithmic generation/modification/manipulation.
Explore the balance of control between the tool and the person using the tool. The tool should do something different when moving vs. dragging (moving with the mouse button down).
The code for your tool should use at least one class.
Assignment 2
due October 6th, 2008
A2-01: Using beginShape() and endShape(), create a composition with five or more vertices.
A2-02: Using beginShape() and endShape(), create a composition with ten or more vertices.
A2-03: Create an image different from A2-02, but using the same vertex data.
A2-04: Write a function with one parameter and demonstrate it visually.
A2-05: Write a function for drawing triangles and visually demonstrate its flexibility.
A2-06: Write a function with three or more parameters and visually demonstrate its flexibility.
A2-07: Create a dynamic animation using the cos() function as a generator for motion.
[A2-08: Create a dynamic animation using the cos() and sin() function as a generator for motion.
[A2-10: Create an event that begins when the mouse is pressed and ends when the mouse is released.
A2-12: Create a button that changes the color of the background when it is clicked.
A2-13: Program your moving elements from A2-09 but use classes to represent the two visual elements.
Project 1
due September 24, 2008
P1: Mathematical time vs. celestial time -- Finished!
Assignment 1
due September 12th, 2008
A1-04: Control the position of two lines with one variable.
A1-05: Control the position and size of two lines with two variables.
A1-06: Control the properties of two shapes with two variables.
A1-07: Create a simple, regular pattern with six lines.
A1-08: Program your pattern from Assignment 1-07 using while().
A1-09: Draw a layered form with two new loops.
A1-10: Redo Assignment 1-05 using mouseX and mouseY as the variables.
A1-11: Draw two visual elements that each move in relation to the mouse in a different way.
A1-12: Draw two visual elements that each move in relation to the mouse in a different way.