iMAL

iMAL Processing Workshop. Brussels, BE
Professor Casey Reas
  Index
  Schedule
Exercises
Friday 18 April 2003
Saturday 19 April 2003
Sunday 20 April 2003


Notes:
All exercises should be 300x300 pixels.
These are not programming exercises — they are visual and programming exercises.
Before touching your keyboard, always sketch ideas on paper first.
Work quickly and iteratively.
Think about each exercise grouping as a whole.
Don’t try to immediately understand everything. Understanding will develop in time.
Always write a few lines at a time and continuously test the result.



Friday 18 April

F00 Draw three lines.
F01 Draw five lines.
F02 Draw three ellipses.
 
F03 Control the position of two lines with one variable.
F04 Control the position and size of two lines with two variables.
F05 Control the properties of two shapes with two variables.
   
F06 Create a simple, regular pattern with six lines.
F07 Program your pattern from Exercise F06 using while().
F08 Draw a layered form with two new loops.
 
F09 Redo Exercise F04 using mouseX and mouseY as the variables.
F10 Draw two visual elements that each move in relation to the mouse in a different way.
F11 Draw three visual elements that each move in relation to the mouse in a different way.
   
F12 Move a visual element across the screen. When it disappears off the edge, move it back into the frame.
F13 Draw a visual element that moves in relation to the mouse, but with a different relation when the mouse is pressed.
F14 Using if() and else(), make the mouse perform different actions when in different parts of the window.
   
F15 Develop a kinetic image which responds to the mouse.



Top

Saturday 19 April

S00 Using beginShape() and endShape(), create a composition with five or more vertices.
S01 Using beginShape() and endShape(), create a composition with ten or more vertices.
S02 Create an image different from S01, but using the same vertex data.
   
S03 Write a function with one parameter and demonstrate it visually.
S04 Write a function for drawing triangles and visually demonstrate its flexibility.
S05 Write a function with three or more parameters and visually demonstrate its flexibility.
   
S06 Create a dynamic animation using the cos() function as a generator for motion.
S07 Create a dynamic animation using the cos() and sin() function as a generator for motion.
S08 Move two visual elements across the screen using the random() function as a generator of movement. Give each element a unique nonlinear motion.
   
S09 Create an event that begins when the mouse is pressed and ends when the mouse is released.
S10 Create a responsive image that behaves differently when the mouse is moving and the mouse is dragging.
S11 Create a button that changes the color of the background when it is clicked.
   
S12 Create a custom drawing tool.
S13 Create another custom drawing tool which reacts differently when the mouse is pressed and/or in different areas of the screen.
S14 Draw a continuous form which responds to the mouse.
   
S15 Implement an active drawing tool. Explore the balance of control between the tool and the person using the tool.



Top


Sunday 20 April

U00 Load an image and display it on the screen.
U01 Load two images and construct a kinetic composition with them.
U02 Create a short responsive animation with five or fewer images.
   
U03 Use setPixel() to set some pixels to black.
U04 Load an image and use values from getPixel() in combination with red() to modify a constructed geometry.
U05 Load an image and use getPixel() and setPixel() to copy some or all of the image to a different location on the screen.
   
U06 Fill an array with random values and then visualize this information.
U07 Modify the display window by directly writing information into pixels[].
U08 Load an image and modify it by accessing its pixel array.
   
U09 Re-create exercise F02 using translate().
U10 Use the scale() function to continuously change the size of a shape.
U11 Use the rotate() function to express the idea of "balance".
   
U12 Create a responsive, abstract self-portrait.

 

 
  http://www.proce55ing.net