CMSC110 (Introduction to Computing)

Spring 2013

Assignment#7

Due before start of class on Tuesday, April 30, 2013

First, read Chapter 8 from GXK.

Task: Develop a processing program to draw an artistic sketch that utilizes recursion.  For this assignment you have the choice of drawing a recursive design involving triangles (design 1, see below) or one involving squares (design 2, see below).  You may also choose to implement both designs, in which case you will receive extra credit (if you choose this option, each design should be implemented in a separate PDE file).  Your sketch(es) must use recursion.  Additionally, you must provide instructions on how to change the maximum depth of the recursion.

While you are not free to choose which design to draw, you should use color, transparency, and possibly rotation in a creative fashion of your own choosing.  Your utilization of these components will form the basis of the aesthetic component of your grade.  Don't worry about exactly matching these designs (for instance the stroke weights from the reference examples may differ), however, the general look of your sketch should be the same as the sketches shown below.

Design 1: Draw the recursive design pictured below using Processing.

To help you understand how this design can be drawn recursively, here is a schematic for drawing the design at recursion level n:

Design 2: Draw the recursive design pictured below using Processing.

To help you understand how this design can be drawn recursively, here is a schematic for drawing the design at recursion level n:

What to Hand in: Hand in the entire sketch folder in your Dropbox folder. In addition to the sketch/programs also include; (1) a gif/jpg/png image of your finished sketch. (2) A formatted write-up with Page#1 showing your sketch, followed by a title, your name, a short 1-2 line description (as discussed in class) on page#1, and a short 1-2 paragraph more detailed description of the sketch and your personal experiences working on this sketch as well as your Processing code.