Exploring the Panel Exercises in the Modulor as presented by Le Corbusier
Funding Information:
Grants‐in‐Aid for Scientific Research.
Abstract
In this study, the possibility of using the Modulor in the digital era is explored by employing computational methods to solve "The Panel Exercises" that Le Corbusier presented in his well‐known book "Modulor" and confirming the explosions of their combinations. First, the mathematical characteristics of the Modulor are reconfirmed. Thereafter, we present the gradual bisection method to generate combinations of the first panel exercise and a program of the depth‐first search to enumerate all the possible solutions of the second panel exercise. It is also demonstrated that the other panel exercises that evolved from the previous two exercises can be solved with these methods.
1. Introduction
After many unexpected events, "The Architectural Work of Le Corbusier, an Outstanding Contribution to the Modern Movement" was registered in the list of World Heritage Sites on July 17, 2016. The National Museum of Western Art, which is the only work of Le Corbusier in Japan, is also included in its constitutional elements (Figure 1). The World Heritage Committee evaluated this museum as one instance of his contribution to the movement of the Japanese modern architecture.1 To be more precise, it is well‐known that his three disciples, Kunio Maekawa, Junzo Sakakura, and Takamasa Yoshizaka, who were the leading architects of the Japanese postwar period, conducted the execution design and field management of the above museum based on the sketches and drawings of Le Corbusier and the Modulor.2, 3

As we all know, the Modulor constitutes the foundation of the design concepts needed to discuss the architectural work of Le Corbusier. There have been many articles written and much research conducted related to the Modulor. However, the majority of previous studies have dealt with the analysis of his work, criticism of his artistic theories, and comparison with other scale systems.4-6 They did not reconsider the fundamentals of the Modulor precisely, because Le Corbusier himself perfectly summarized the discussion of its geometric and mathematical features.
In principle, the Modulor is based on the golden section and seeks a system of irrational numbers closed under addition in mathematics. However, for practical use in the analog era, its values are rounded off, and the use of other values that do not follow the golden section is occasionally accepted. In a strict sense, the values in the Modulor do not constitute a system closed under addition. Additionally, Le Corbusier presented some "Panel Exercises" in his well‐known book "Modulor" to illustrate that the Modulor was a system capable of producing infinite combinations and did not restrict the degree of freedom in design. However, he only showed some combinations (solutions of the exercises) at random and could not seek its infinite possibilities in a rigorous manner.
In this study, we have not considered the conceptual, practical, and artistic aspects of the Modulor. We explored the possibility of the Modulor in the digital era by using computational methods to solve "The Panel Exercises" that Le Corbusier presented and by confirming their "combinatorial explosions."
2. Methods: Reconfirmation of "Modulor"
The Modulor is constituted of two numerical sequences, a red and blue series, as follows:
Red series: …, 165, 267, 432, 698, 1130, 1829, …
Blue series: …, 330, 534, 863, 1397, 2260, 3658, …











Kenzo Tange had stated about these errors, “1‐mm error is negligible, … but this can be a significant obstacle in actual design”, and he developed his own module system [Note 1Note 1)
See Reference 7, p.243.
]. It is evident that using these values as they are will cause fatal errors in the computational environment. Conversely, we can deal with irrational numbers with greater accuracy in the computational environment and use the Modulor in its true form.
3. Results
3.1. Panel Exercise 1










Figure 3 illustrates the schematic of these rules. By a single operation, the rectangle with red values in both directions can be translated into eight patterns, and that with blue values in both directions into 10 patterns. Furthermore, the rectangle with blue values in the vertical direction and red values in the horizontal direction can be translated into nine patterns, and that with red values in the vertical direction and blue in the horizontal direction into nine patterns.

These N panel combinations can be generated from N‐1 panel combinations by selecting any one of the panels and applying any one of the corresponding rules. Therefore, the potential number of generative combinations at a certain number of divisions is the sum of these multiplications. Because the initial square has a blue value (2260) in both directions, it can be estimated as summarized in Table 1 Note 2Note 2)
According to the example in "Modulor," the combinations are regarded as different even if their mirrors or rotations are matched.
. Moreover, these values explosively increase according to the number of divisions.
| Panels | Combinations |
|---|---|
| 1 | 1 |
| 2 | 10 |
| 3 | 188 = 10 × 8 + 9 × 12 |
| 4 | 5172 = 188 × 8 + 158 × 12 + (10 × 10) × 8 + (9 × 9) × 12 |
| 5 | 187 368 = 5172 × 8 + 4140 × 12 + … |
| 6 | 8 421 456 = 187 368 × 8 + 144 336 × 12 + … |
On the other hand, these numbers include the same combinations via different bisection routes, as shown in Figure 4. It is impossible to count and draw out all the combinations that are mutually exclusive and collectively exhaustive by hand, whereas the generation procedure can be described with a simple gradual bisection algorithm by a computer. Based on the analysis of Figure 3, a Python program was coded in which four classes (BB, BR, RB, RR) were defined to represent these rectangle types. Each class had a method of the bisection rules. The set of N panel combinations could be made from a set of N‐1 panel combinations. The problem was how to find duplicates efficiently among the set of N panel combinations, which explode according to the number of divisions.

In Python, a simple representation for a set of combinations is to use the "dictionary" object, which stores the index number as the key and the list of panels as its values, as follows:
{'1': [BB(0.0,0.0,863.24318543..,2260.0),
BB(863.24318543..,0.0,1396.75681457..,2260.0),
BB(1396.75681457..,0.0,2260.0,2260.0)],
'2': [BB(0.0,0.0,533.51362915..,2260.0),
BB(533.51362915..,0.0,1396.75681457..,2260.0),
BB(1396.75681457..,0.0,2260.0,2260.0)],
'3': …}.
In this case, a linear search is required to find the duplications, but it becomes too inefficient to be used as the number of solution increases. An alternative representation is to dissolve every combination into individual panels and enumerate the indices of the combinations for each panel in the following way:
{'BB(1396.75681457..,0.0,1726.48637085..,2260.0)': {12},
'RR(1130.0,0.0,2260.0,1130.0)': {163, 86},
'BB(0.0,0.0,1396.75681457..,863.24318543..)': {107, 7},
'BR(0.0,0.0,266.75681457..,2260.0)': {57, 74, 4},
'RB(863.24318543..,0.0,2260.0,1828.37840729..)': {37, 127},
'RR(1828.37840729..,431.62159271..,2260.0,2260.0)': {154, 55},
…}.
Each panel can be a hashed key of the "dictionary" object in Python and a high‐speed search for the duplications can be realized. Eventually, an accurate total number of combinations and calculation times can be counted, which are listed in Table 2 Note 3Note 3)
These programs were written in Python 3.5 and Shapely package 1.6 was used for the geometric operations. They were executed on Mac Pro (CPU 3.7GHz Quad‐Core Intel Xeon E5, RAM 64GB).
. Figure 5 provides the combinations generated by this program and selected at random.3
| Panels | Combinations | Calculation time (s) |
|---|---|---|
| 1 | 1 | |
| 2 | 10 | 0.4 |
| 3 | 172 | 5.8 |
| 4 | 3453 | 115.2 |
| 5 | 75 186 | 902.4 |
| 6 | 1 724 764 | 5219.9 |




The total number would explode further as a result of including these types of aggregation rules to tolerate these combinations.
3.2. Panel Exercise 2
Le Corbusier proposed another panel exercise of dividing the initial square (2260 × 2260) by means of specified panels measured in the Modulor. More specifically, the first batches of 16 combinations were given with respect to (a) 12 pieces of six different panels Note 4Note 4)
The original text said, "by means of five different panels," but the six different panels can be confirmed exactly in the original figure.
, (b) six pieces of four different panels, and (c) nine pieces of three different panels (Figure 6). In the narrow sense of "dividing," all the combinations in Figure 6 can be generated by the gradual bisection method described in the previous section. However, understanding the intentions of this game, it is impossible to derive all the possible combinations with this method. There is a possibility that some combinations may not bisect the initial square (guillotine cutting) depending on the arrangement of the panels, like a herringbone layout.

- The first panel is located at the left bottom corner (origin) of the initial square.
- One panel is selected from the rest of the panels, and it is located to satisfy the following conditions:
- fits inside the initial square
- does not overlap previously located panels
- the left bottom corner is placed at either edge of the previously located panels
- located panels can be united into a singular shape
- Step 2 is repeated until the rest is empty.
- If a panel cannot fit inside, it is turned sideways, and the fitting is tried again.
- Nevertheless, if a panel cannot fit inside, the previous condition is returned to.
For example, the acceptable locations of the fourth panel (Pc2) are (1) to (4) or rotated (5) to (7) on the condition that three panels (Pa1, Pc1, Pe1) are located as shown in Figure 7.

In principle, the above procedure must be able to enumerate all the solutions. However, it is noted that this kind of search tree sets off a "combinatorial explosion" according to an increase in the number of pieces. Indeed, most people easily find many solutions of this panel exercise with no plan, whereas the Python program of simply describing the above procedure cannot find a single solution in pattern (a) even after spending 12 hours trying (depending on the initial order of these panels). Efficient pruning of the search tree is required to avoid unnecessary calculations.
If no square panels are included, like pattern (a), it is unnecessary to turn the first panel sideways and deepen the search tree again, because the symmetric configurations can be generated by converting the x‐ and y‐axis, and the total number of solutions is twice as many as those for one‐sided configurations. Clearly, turning the square panels sideways is meaningless under every condition. If there are a number of same‐size panels, it is unproductive to deepen the search tree again on a condition like replacing Pe1 to Pe2 in Figure 6. In addition, if Figure 6 is the condition of allocating Pa1, Pc1, and Pe1 in order, the same condition of allocating Pa1, Pe1, and Pc1 in order subsequently traces the same search tree.
As in the case of (7), the gap between the panel and the initial square is less than the minimum size of all the panels; therefore, no solutions will be found even if the search continues. Additionally, in the case of (2), (3), (5), (6), and (7), the allocated panels are combined with a concave boundary, especially when the concave width of (2) is less than the minimum size. In any case, deepening the search tree is not required from the halfway conditions of the concave shapes, because every solution has some allocation orders for keeping the convex boundary.
The pruning of the search tree is illustrated in Figure 8.

To derive all the possible configurations of each pattern, the depth‐first search program implementing the above procedures was written using Python Note 1Note 1)
See Reference 7, p.243.
. The first problem with this program was that computers cannot deal with irrational numbers directly. Basically, they need to be approximated by floating‐point values, thereby inevitably including very slight errors. For example, 0.1 + 0.1 + 0.1 is not strictly equal to 0.3. In fact, the Python program using floating‐point values for the golden ratio, φ, and the Modulor scales occasionally produces 10−13 width gaps between the allocated panels and cannot accurately determine the concavity of boundary. The "decimal" module in Python provides an accurate representation of decimal numbers and can be used to resolve this error Note 5Note 5)
In the decimal module, input values are not translated in binary numbers but are stored as decimal numbers as they are. Hence, 0.1 + 0.1 + 0.1 is calculated to 0.3 accurately. In addition, any decimal places (default is 28) can be set up and accurate calculation is realized within the places. However, this does not mean that irrational numbers can be expressed without errors. In the program, numbers in Modulor are expressed using the decimal module, and the concavity of the boundary of the allocation of the panels is determined by translating them to floating‐point values. See Reference 10.
.
Another problem was that the recursive structure of the depth‐first search exhausts the system resources. On the contrary, efficient search tree pruning requires the storage of not only all the solutions but also the halfway allocations to quickly determine whether the current condition is previously searched. However, the data structure for finding duplications, as proposed in Section 3, requires a large amount of memory to store all the conditions, and the program encountered an out‐of‐memory error when solving pattern (a). To reduce the memory consumption, an idea emerged of hashing a bitmap image converted from any conditions to individual 128‐bit keys, which could be efficiently stored in the "set" object in Python and quickly checks for duplication. However, this method is only applicable for the panel exercises in which the minimum‐sized panel can be distinguished in the bitmap image, so that it cannot be applied to the deep level of the first panel exercise.
The total number of solutions and the calculation times are listed in Table 3. Especially in pattern (a), it takes more than four months for enumeration and numerous solutions can be confirmed. Figure 9 illustrates five combinations for each pattern, selected from all the solutions explored by this program.
| Pattern | Combinations | Calculation time (s) |
|---|---|---|
| (a) | 1 449 912 | 10 190 990.3 |
| (b) | 232 | 32.4 |
| (c) | 315 | 425.9 |

3.3. Panel Exercise 3
The third panel exercise evolved from the first exercise by changing the aspect ratio of the initial rectangle according to the Modulor order (Figure 10). Therefore, the total numbers of combinations for each initial rectangle could be calculated using the same Python program from the first exercise, but the individual cases did not need to be calculated again. All the initial rectangles from the blue series width had the same total numbers, and so was the case with the red series. Only their proportions were different. For comparison, the totals of the red series are provided in Table 4:

| Panels | Combinations | Calculation time (s) |
|---|---|---|
| 1 | 1 | |
| 2 | 9 | 0.3 |
| 3 | 138 | 4.6 |
| 4 | 2564 | 85.3 |
| 5 | 52 955 | 1590.3 |
| 6 | 1 168 932 | 4282.6 |
3.4. Panel Exercises 4‐6
The fourth‐sixth panel exercises evolved from the second exercise by augmenting a series of five initial rectangles (A), as shown in Figure 11. The difference is that the allocating pieces are not fixed and are collected, allowing duplication from five panels, two band widths (flexible length panels), and dotted panels for doors (B) Note 6Note 6)
See Reference 3, p.49.
. In addition, "residues" can be found from time to time. Therefore, the same Python program for the second exercise could be used to find the solutions, but the allocation of pieces for each case should be decided first before executing the depth‐first search.

Le Corbusier presented 101 combinations (collections) for five initial rectangles as the fourth exercise Note 7Note 7)
The panel at line 1 row 2 in (B) is dotted in the original figure, but it is one of the five panels. Another size panel for the door can be confirmed in (A). In addition, two compositions (line 2 row 8 and line 4 row 10) cannot be arranged with these panels.
, then chose one out of them (C: line 4, row 3) and showed 48 combinations for the retaining choice as the fifth exercise (Figure 12). In this context, he concluded that this gave 4848 combinations, but it was unfortunately incorrect. The 101 combinations included the same collections of panels, and moreover, each collection had a different number of combinations. The infinite possibility of these exercises should be confirmed.

Before enumerating, the two bandwidths (flexible length panels) should be restricted to the lengths presented in the other five panels, because these exercises have literally infinite combinations under the permission of using bandwidths of any length. Then, the tentative collections in which the sum of the areas of the pieces is equal to the area of the initial rectangle should be listed, whereas many of them have no solutions in the end of the depth‐first search. According to Figure 10, if the two bandwidths are less than six and the door panels are less than three, then the total number of collections and total number of combinations without residues are provided in Table 5. Figure 13 also illustrates four combinations for each width, selected from all the solutions explored by the program.
| Width | Collections (tentative) | Combinations |
|---|---|---|
(1)
|
32 (207) | 2032 |
| (2) 2260 | 79 (560) | 14 895 |
(3)
|
145 (1051) | 39 084 |
(4)
|
429 (3072) | 724 642 |
(5)
|
762 (6912) | 8 373 890 |

In terms of the "residues," Le Corbusier only mentioned "they are useful to the architect or deliberately caused by him"1 and did not explicitly indicate which residues were permitted. Theoretically, the proposed algorithm would be able to enumerate solutions if the possible residues were defined as the same as for the other panels. He also mentioned "they are inserted into the lower values and incorporated in the whole". For example, in Figure 10, all the widths of the residues are either
or
and able to be assumed arbitrarily. However, the number of tentative collections increases much further (more than 20,000), and the search space explosively expands in proportion. Thus, it will be impossible to calculate a figure in real‐time unless using a cutting‐edge super computer. This is nothing less than a "combinational explosion.”
Incidentally, panel exercise 6 of assigning five different materials to the N panel combinations in the fifth exercise need not be explored, because it is simply the Nth power of 5 for each combination (Figure 14).

4. Discussion and Conclusion
In this study, the infinite possibilities of the Modulor were confirmed by demonstrating how many combinations are produced by the "Panel Exercises" presented by Le Corbusier. These design exercises are also found in many other places in his architectural works.
On the other hand, the Modulor has not become popular in practical design fields because of the complications in dealing with broken numbers. Now, in the digital era, we are released from these constraints. Overwhelming computing power can easily help to realize free‐form architecture within a disordered dimension.
Takamasa Yoshizaka, who was a disciple of Le Corbusier and the Japanese translator of "Modulor" and "Modulor 2", had even written in his article11 that "with all things considered, architectural design in itself seems to be the 'combination and permutation' … there is no alternative but to try at random and select a better solution as much as time and means allow." Overwhelming computing power will be much more useful for inquiring orderly infinite combinations and exploring the possibility of design.
Acknowledgments
This study was supported by the Grants‐in‐Aid for Scientific Research (16H03014A) in Japan.
Disclosure
The author has no conflicts of interest to declare.




