On this page:
3.13.1 Exercises 21
3.13.1.1 Question 58

3.13 Vitruvian Proportions

The method for modeling Doric columns that we developed in the previous section allows us to easily build columns, for which we need only to indicate the values for the relevant parameters, such as the shaft’s height and base radius, the echinus’ height and base radius, and the abacus’ height and length. Each of these parameters represents a degree of freedom that we can freely vary.

Even though it is logical to think that, the more degrees of freedom we have, the more flexible the modeling is, the truth is that an excessive number of parameters often leads to unrealistic models. This phenomenon can be seen in this figure, which shows a set of columns with randomly chosen parameters.

Three-dimensional columns with randomly chosen parameters. Only one of these columns obeys the canon of the Doric order.

image

In fact, according to the canon of the Doric order, the different parameters that regulate the shape of a column should relate to each other following a set of well-defined proportions. Vitruvius, in his famous architectural treatise, considers that these proportions derive directly from the proportions of the human body.Vitruvius was a Roman writer, architect and engineer during the 1st century BC, and the author of the only architectural treatise that has survived from Ancient times.

Wishing to set up columns in that temple, but not having rules for their symmetry [...], they measured the imprint of a man’s foot and compared this with his height. On finding that, in a man, the foot was one sixth of the height, they applied the same principle to the column, and reared the shaft, including the capital, to a height six times its thickness at its base. (Vitruvius, The Ten Books on Architecture, Book IV, Chapter I.6, pp. 103)

Vitruvius’ analysis of the columns of the Doric order included all the relevant parameters:

The thickness of the columns [at the base] will be two modules, and their height, including the capitals, fourteen. (Vitruvius, The Ten Books on Architecture, Book IV, Chapter III.4, pp. 110)

From this we deduce that a module is equal to the column’s base radius and that the column’s height should be 14 times that radius. In other terms, the column’s base radius should be \(\frac{1}{14}\) the column’s height.

The height of a capital will be one module, and its breadth two and one sixth modules. (Vitruvius, The Ten Books on Architecture, Book IV, Chapter III.4, pp. 110)

This implies that the echinus’ height added to the abacus’ height shall be one module, i.e., the column’s base radius, and the abacus’ length shall be \(2\frac{1}{6}\) modules or \(\frac{13}{6}\) of the radius. Together with the fact that the column is 14 modules high, it implies that the shaft’s height shall be 13 times the radius.

Let the height of the capital be divided into three parts, of which one will form the abacus with its cymatium, the second the echinus with its annulets, and the third the necking. (Vitruvius, The Ten Books on Architecture, Book IV, Chapter III.4, pp. 110)

This means that the abacus has the height of one third of a module, which is \(\frac{1}{3}\) of the base radius, and the echinus will have the remaining two thirds, which means \(\frac{2}{3}\) of the base radius.

These considerations lead us to determine the values of some of the parameters needed to draw a column in terms of the shaft’s base radius. These parameters will, therefore, become local variables defined by the proportions established by Vitruvius. The function is, thus:

doric_column(p, r_base_shaft, r_base_echinus) =

  let h_shaft = 13*r_base_shaft,

      h_echinus = 2/3*r_base_shaft,

      h_abacus = 1/3*r_base_shaft,

      l_abacus = 13/6*r_base_shaft

    shaft(p, h_shaft, r_base_shaft, r_base_echinus)

    echinus(p+vz(h_shaft), h_echinus, r_base_echinus, l_abacus/2)

    abacus(p+vz(h_shaft+h_echinus), h_abacus, l_abacus)

  end

Using this function, it is now possible to create columns closer to the Doric proportions (as set by Vitruvius). This figure shows the result of evaluating the following expressions:

doric_column(xyz(0, 0, 0), 0.3, 0.2)

doric_column(xyz(3, 0, 0), 0.5, 0.3)

doric_column(xyz(6, 0, 0), 0.4, 0.2)

doric_column(xyz(9, 0, 0), 0.5, 0.4)

doric_column(xyz(12, 0, 0), 0.5, 0.5)

doric_column(xyz(15, 0, 0), 0.4, 0.7)

Variations of Doric columns according to Vitruvian proportions.

image

Vitruvius’ proportions allowed us to reduce the number of independent parameters of a Doric column to only two: the shaft’s base radius and the echinus’ base radius. However, it still does not seem right that these parameters are completely independent, because it allows bizarre columns to be constructed, where the shaft’s top is larger than the base, as it happens in the rightmost column in the figure above.

In truth, the characterization of the Doric order that we presented is incomplete since, for the column’s proportions, Vitruvius also added:

The diminution in the top of a column at the necking seems to be regulated on the following principles: if a column is fifteen feet or under, let the thickness at the bottom be divided into six parts, and let five of those parts form the thickness at the top. If it is from fifteen feet to twenty feet, let the bottom of the shaft be divided into six and a half parts, and let five and a half of those parts be the upper thickness of the column. In a column of from twenty feet to thirty feet, let the bottom of the shaft be divided into seven parts, and let the diminished top measure six of these. A column of from thirty to forty feet should be divided at the bottom into seven and a half parts, and, on the principle of diminution, have six and a half of these at the top. Columns of from forty feet to fifty should be divided into eight parts, and diminish to seven of these at the top of the shaft under the capital. In the case of higher columns, let the diminution be determined proportionally, on the same principles. (Vitruvius, The Ten Books on Architecture, Book III, Chapter III.12, pp. 84-86)

These considerations allow us to determine the ratio between the top and bottom of a column in terms of its height in feet. A foot was the fundamental unit of measurement for several centuries, but its value has changed along the years. The measurement of the international foot, established in 1959, is \(304.8\) millimeters. Before that, many other measurements were used, as the Doric foot of \(324\) millimeters, the Roman and Ionic foot of \(296\) millimeters, the Athenian foot of \(315\) millimeters, the Egyptian and Phoenician foot of \(300\) millimeters, etc.

Let us then consider a function, which we will call shaft_top_radius, that receives as parameters the column’s base radius and the column’s height, and returns as the result the shaft’s top radius.

A literal translation of Vitruvius’ considerations allows us to write:

shaft_top_radius(base_radius, height) =

  if height < 15

    5.0/6.0*base_radius

  ...

The previous fragment obviously corresponds to the statement: “if a column is fifteen feet or under, let the thickness at the bottom be divided into six parts, and let five of those parts form the thickness at the top.” In cases where the column has fifteen feet or more, we skip to the next statement: “If it is from fifteen feet to twenty feet, let the bottom of the shaft be divided into six and a half parts, and let five and a half of those parts be the upper thickness of the column.” Translating this last statement we have:

shaft_top_radius(base_radius, height) =

  if height < 15

    5.0/6.0*base_radius

  elseif height >= 15 && height < 20

    5.5/6.5*base_radius

  ...

A careful analysis of the two previous statements shows that, in reality, we are making excessive tests on the second clause. In fact, if we can get to the second clause that means the first one is false, i.e., the height is not less than 15 and, therefore, it is higher or equal to 15. In that case, it is useless to test again if the height is higher or equal to 15. That way, we can simplify the function and write instead:

shaft_top_radius(base_radius, height) =

  if height < 15

    5.0/6.0*base_radius

  elseif height < 20

    5.5/6.5*base_radius

  ...

The continuation of the translation leads us to:

shaft_top_radius(base_radius, height) =

  if height < 15

    5.0/6.0*base_radius

  elseif height < 20

    5.5/6.5*base_radius

  elseif height < 30

    6.0/7.0*base_radius

  elseif height < 40

    6.5/7.5*base_radius

  elseif height < 50

    7.0/8.0*base_radius

  ...

The problem now is that Vitruvius has left the door open for columns higher than \(50\) feet, simply saying: “In the case of higher columns, let the diminution be determined proportionally, on the same principles”. To clearly understand these principles, let us consider the evolution of the relation between the top and base of the columns. The ratio between the column’s top radius and the base radius is the sequence:

\[\frac{5}{6},\, \frac{5\frac{1}{2}}{6\frac{1}{2}},\, \frac{6}{7},\, \frac{6\frac{1}{2}}{7\frac{1}{2}},\, \frac{7}{8},\, \cdots{}\]

It now becomes obvious that, for higher columns, “the same principles” mentioned by Vitruvius are: for each \(10\) additional feet, add \(\frac{1}{2}\) to both the numerator and the denominator. However, it is important to notice that this principle should only be applied if the height exceeds \(15\) feet, since the first interval is bigger than the other ones. Thus, we have to handle columns up to \(15\) feet differently and, from there onward, simply subtract \(20\) feet from the height and determine the integer division by \(10\) in order to know how many times we need to add \(\frac{1}{2}\) to both the numerator and the denominator of \(\frac{6}{7}\).

It is the “handle differently” that suggests the need to come up with a selection mechanism: it is necessary to distinguish between two cases and react to each accordingly. For Vitruvius’ column, if the column has a height \(h\) up to \(15\) feet, the ratio between the top and the base is \(r=\frac{5}{6}\); if the height \(h\) is not less than \(15\) feet, the ratio between the top and the base shall be:

\[r=\frac{6 + \lfloor\frac{h-20}{10}\rfloor\cdot\frac{1}{2}}{7 + \lfloor\frac{h-20}{10}\rfloor\cdot\frac{1}{2}}\]

As an example, let us consider a column with \(43\) feet. The integer division of \(43-20\) by \(10\) is \(2\), so we must add \(2\cdot{}\frac{1}{2}=1\) to the numerator and the denominator of \(\frac{6}{7}\), obtaining \(\frac{7}{8}=0.875\).

As a second example, let us consider the proposal made by Adolf Loos for the headquarters of the Chicago Tribune, a \(122\) meter-tall building with the shape of a Doric column on top of a large base. The column alone would be \(85\) meters high. Taking into account that a foot in the Doric order measured \(324\) millimeters, the column would have \(85/0.324\approx 262\) feet. The integer division of \(262-20\) by \(10\) is \(24\). Therefore, the ratio between the top and the base of this example would then be \(\frac{6+24/2}{7+24/2}=\frac{18}{19}\approx 0.95\). This value shows that the column would be practically cylindrical.

Based on these considerations, we can now define a function that, given an integer representing the column’s height in feet, computes the ratio between the top and the base. Beforehand, however, it is convenient to simplify the formula for columns with heights not less than \(15\) feet:

\[r=\frac{6 + \lfloor\frac{h-20}{10}\rfloor\cdot\frac{1}{2}}{7 + \lfloor\frac{h-20}{10}\rfloor\cdot\frac{1}{2}}= \frac{12 + \lfloor\frac{h-20}{10}\rfloor}{14 + \lfloor\frac{h-20}{10}\rfloor}= \frac{12 + \lfloor\frac{h}{10}\rfloor - 2}{14 + \lfloor\frac{h}{10}\rfloor - 2}= \frac{10 + \lfloor\frac{h}{10}\rfloor}{12 + \lfloor\frac{h}{10}\rfloor}\]

The function’s definition will then be:

shaft_top_radius(base_radius, height) =

  if height < 15

    5/6*base_radius

  else

    divisions = floor(height/10)

    (10+divisions)/(12+divisions)*base_radius

  end

This was the last expression that was missing in order to completely specify the drawing of a Doric column according to Vitruvius in his architectural treatise. Let us consider that we will supply the coordinates for the column’s base center point and its height. All the remaining parameters will be calculated in terms of these ones. The redefinition of the function doric_column will be:

doric_column(p, height) =

  let r_base_shaft = height/14,

      r_base_echinus = shaft_top_radius(r_base_shaft, height),

      h_shaft = 13*r_base_shaft,

      h_echinus = 2/3*r_base_shaft,

      h_abacus = 1/3*r_base_shaft,

      l_abacus = 13/6*r_base_shaft

    shaft(p, h_shaft, r_base_shaft, r_base_echinus)

    echinus(p+vz(h_shaft), h_echinus, r_base_echinus, l_abacus/2)

    abacus(p+vz(h_shaft+h_echinus), h_abacus, l_abacus)

  end

The following expressions produce the result shown in this figure: Note that the column’s height should be specified in feet.

doric_column(xy(0, 0), 10)

doric_column(xy(10, 0), 15)

doric_column(xy(20, 0), 20)

doric_column(xy(30, 0), 25)

doric_column(xy(40, 0), 30)

doric_column(xy(50, 0), 35)

Column variations according to Vitruvian proportions.

image

Finally, it is worth mentioning that the functions column and doric_column represent two extreme cases: the first one models a column with many degrees of freedom, from the position to the measurements of the shaft, echinus and abacus, whereas the second only allows for the position and height to be given. The function doric_column is, in fact, a particular case of the function column and, so, it can be redefined in terms of it:

doric_column(p, height) =

  let r_base_shaft = height/14

      r_base_echinus = shaft_top_radius(r_base_shaft, height)

      h_shaft = 13*r_base_shaft

      h_echinus = 2/3*r_base_shaft

      h_abacus = 1/3*r_base_shaft

      l_abacus = 13/6*r_base_shaft

    column(p,

           h_shaft,

           r_base_shaft,

           h_echinus,

           r_base_echinus,

           h_abacus,

           l_abacus)

  end

The functions column and doric_column are also a good example of a modeling strategy. Whenever possible, we should begin by defining the most general and unconstrained case, contemplating the highest number of degrees of freedom that is reasonable, and only then we should consider the particular cases, modeled with specific functions, which can naturally resort to the definition of the general case.

3.13.1 Exercises 21
3.13.1.1 Question 58

A careful look at the shaft_top_radius function shows that there is a repeated fragment of code, namely the multiplication by the base_radius parameter. This suggests that it should be possible to come up with an even more compact version of this function. Define it.