Recursion part 1

27·04·2009

Tags: , ,

The subtle art of dividing by 3, page margins, abstractions and other wonderful things

The nice thing with recursion is that you can build very complex structures starting with very basic elements. So, what is recursion? The definition I found reads like that: A recursive process is one in which objects are defined in terms of other objects of the same type. Using some sort of recurrence relation, the entire class of objects can then be built up from a few initial values and a small number of rules.

Ok, even if this is a mathematical definition (and we are talking about design, and I’m not mathematicians, &c.) can be useful for our purpose: you have a “value” and you have a rule. You apply the rule to the value and you find another value that belongs to the “class”. Then you apply the same rule to the new value, and you find another value, always in the class, and you go on. Each step of the process is built upon the previous step.

```             |      |
value ------>| rule |-----> next value
|      |            |
^               |
|               |
-----------------```

A simple example

Trying to avoid russian dolls I found another interesting example, more ‘typographic’: the Tschichold type area diagram. Using a simple construction (derived from Villard de Honnecourt, the medieval architect — if you search for Villard on the web you will find very interesting images) Tschichold find the third of the page diagonal, then he use that point to draw a rectangle (which has the same proportions of the page scaled by a factor of 3) and then apply the same construction again, finding the third of the third: the ninth.

One interesting thing is that you can reformulate the same process in another way. Suppose you have your page and you start folding it at one third, as a result you now have two rectangular parts. And now, for the recursion, apply the same folding two each part, and you have the tschicholdian vertical division.

Now you can apply the same process in the other direction and you will find your text area. The next post I plan to show that this kind of operation has been formalized. Now I simply add another thing. The construction of dynamic rectangles by mean of diagonals is also a recursive process (square - diagonal - next rectangle - diagonal - next rectangle - &c.).