Assignment: Instructional Drawing in Reverse

This image is procedurally generated (Click to zoom):

1) Analyze it and try to “reverse engineer” the algorithm that produces similar images (only the lines, colors are not important). Describe the process using the minimum amount of clear, non ambiguous instructions.

2) Give the instructions to a person who has not seen the image and ask him/her to “execute” the process using a pen or pencil and a ruler, without giving him/her additional feedback – like in the exercise we did in class.

3) Post your instructions on the blog, along with a picture/scan of the results.

Warning: I don’t want exactly the same image line by line, but a universal set of instructions that can produce infinite variations of the pattern.

Here’s another image produced by the same algorithm:

Posted in


  1. christianmurphy

    Christian Murphy
    EMS 2
    Instructional Drawing in Reverse

    1. Draw a straight line anywhere on the paper.
    2. Follow up with a second line that branches out from this line, it must also be linear but cannot intersect with it.
    3. Draw a perpendicular line to the first line
    4. Draw a perpendicular line to the 2nd line.
    5. Now draw a line at a slight angle coming off either line.
    6. Follow up with another angled line not perpendicular to the last, that doesn’t touch or intersect with it.
    7. Make sure that no matter what lines don’t crossover one another and continue.
    8. Repeat this function making sure that the new lines touch the ends of the existing ones, but never intersect them or extend them.

  2. zoeambinder

    1. Draw a straight line (Line A)
    2. Draw a perpendicular line (Line B) that meets but does not cross Line A
    3. Draw another line, if it is perpendicular to Line A then it meets or crosses Line B, if it is perpendicular to Line B then it meets or crosses Line A, repeat this step indefinitely
    4. Draw a line connecting two perpendicular lines, repeat this step indefinitely
    5. Determine when you are done with this set, then start process again

  3. zoeambinder

    *3. Draw another line, if it is parallel to Line A then it meets or crosses Line B, if it parallel to Line B then it meets or crosses Line A, repeat this step indefinitely
    4. Draw a line that is perpendicular to the parallel lines it is connecting, repeat this step indefinitely

  4. lisapark

    1. Everything will be rigid and straight, draw long straight lines, parallel to each other, the lines can be of different lengths
    2. Draw similar shorter lines now perpendicular to the previous lines (draw few), these lines should also be parallel, you should have many 4 sided grids of many different sizes.
    3. Within these grids draw lines (always leaving on side of the grid as a perpendicular), these lines may or may not touch the other side of the grid.
    4. Continuously repeat steps 2 to 4.
    5. When this set is considered finished, start again from step one, but now on a different plane than the previous.

  5. azighelb

    1. Draw three non-parallel lines that meet but do not cross, starting from one side of the picture plane and ending wherever you choose.
    2. For each of the 3 lines from step 1, draw at least 6 lines parallel to the lines from step 1. The space between each line must be different, and of differing lengths. You should have at least 18 new lines after this step is done.
    3. Connect each parallel line with a perpendicular line. These new lines may not cross any parallel lines.
    4. Repeat step 3 infinitely until you have achieved a series of small rectangles.
    5. Draw a line to divide any large rectangles into small rectangles.
    6. When you feel you are done, repeat the process on a new picture plane.

  6. cindyxu

    1) Draw 1-10 line segments of any length and angle on the page. They may, but not necessarily, extend off the page on either end. They may touch, but not cross/pass through other line segments.

    2) Pick an arbitrary line segment “A”, and pick a random point on A, giving more bias towards areas with more line segments in the vicinity. Draw a new line segment “B” of random length extending from that point, perpendicular or almost perpendicular to A. B may touch, but not cross other line segments in its path.

    Repeat step #2 ad infinitum or until 20 minutes have passed.

    the result

    (In the future I would probably extend the time limit to an hour or so)

Post a comment