The math of masonry

Jurjen Bos
10 min readJun 13, 2023

--

When I was a teenager, I spent too much time staring at a brick wall in our house which had a pattern that was something like this:

"Wild verband" (random bond), common in the Netherlands

This strange messy pattern is popular mainly in the Netherlands, and is known as “wild verband" (random bond, I guess is the translation). You see is almost everywhere here, and has been so for the last half century. I put some pictures below that I found in the last few weeks. Almost all the pictures are mine; I’ll tell you when I copied one from somewhere.

What fascinated me about the brick pattern was that I could see there were rules, but I couldn’t figure out what they were. The fascination with brick patterns didn’t go away. When I got older, I started recognizing the familiar brickwork patterns, and I memorized their names (in Dutch, of course, but we’ll use the English ones here): stretcher bond, cross bond, Flemish bond, monk bond, diamond bond and so on. (Wikipedia contains many details about them, including some pretty pictures.) I learnt a bit about the history of brickwork on the way, and I found out that the random pattern that fascinated me so much was only popular in the Netherlands.

I’ll talk a bit about what I learnt about this pattern before going into the mathematical approach. If you have read anything I wrote, you know that whatever I do will eventually end up being a mathematical investigation. But first some other observations.

Even in the small space between the windows, the pattern is irregular

History of random bond

The random bond originated from a time when bricks weren’t standardized: the width and height were good enough to make a neat wall, but the length of a brick varied too much for a regular pattern. When the bricks became standardized, regular bonds became popular (especially cross bond, as seen in most medieval churches).

From the picture below, you can see a wall that tries to use cross bond, but it got messed up a bit because of the irregularities in the bricks:

Tower of Assumburg castle, five minutes walk from my home

While the “random bond” in the middle ages was a necessity, today it is a choice. With very accurate bricks, the wild bond also became accurate: the bricks are now on a strict grid, where alternate rows are offset with a quarter of a brick length. And even though it appears random, it is clear there are rules, which we will investigate below.

The walls that were made in the early days had the thickness of a brick’s length. This meant that you the patterns come from either placing the bricks across the wall, or two side-by-side, like this:

Traditional stone wall (from https://www.joostdevree.nl/)

I guess that combing of the two directions of bricks leads to optimal strength. Later, the walls became half the thickness (I think this is called a “veneer wall” in English). Instead of using only bricks in one direction, called stretcher bond (“halfsteensverband” in Dutch), one started using half bricks, allowing to make the same patterns as before. It actually makes me feel like it’s cheating, but is happening everywhere. These are the walls that are all over the Netherlands today.

There’s no extra strength from using half and full bricks. Also the irregularities in the pattern seem to have no technical function; it looks like it is purely aesthetic. But there are still people that apparently find it not beautiful enough to keep it visible, and they paint it over.

Painted random bond in Aalst

My own house (built 1957), uses stretcher bond for most of the outer walls, but there’s a small band of random bond near the roof, for some reason:

The top rows of my house are random bond

But on the front of my house you can see the extreme version. A mason managed to make “random bond” out of just thirteen bricks:

The front corner of my house

And today, where the walls are made from different materials, bricks are replaced by small stone strips, glued on by industrial robots. But still, the random bond is still used.

Industrial robot making random bond with stone strips (https://www.spaansen.nl)

And thanks to the fact that robots are used, you can do things that were impossible a few years ago.

Random bond with stone strips (https://www.robotize.nl/)

The rules

So much for the masonry part of this article. Now let’s do some math.

First some terminology. If you see (what appears to be) the short side of a brick, we call it a header. The long side is a stretcher. Stretchers are twice the length of a header (this includes the cement between the bricks; we ignore that detail here). A course of bricks is a horizontal row. If the wall is made out of bricks by a mason, the wall is built one course at a time.

In my search for the rules of random bond, I found that they are not as strict as I thought. There are some regional differences, even though the Netherlands isn’t that big. According to the Dutch masonry standard uitvoeringsrichtlijn metselwerkconstructies, BKB Publikatie Nr. PBL0357/98 from BV Kwaliteitsverklaringen Bouw, a random bond must satisfy the following rules:

  • corners consisting of stretcher, three quarters, or header,
  • “falling teeth” (see 3 and 4 in picture below) are at most six rows,
  • “standing teeth” (5 in picture below) are at most six rows,
  • the pattern should not appear like a regular bond.

All this is nicely summarized in the picture below:

From https://www.bdh.nl

But there are requirements that seem to be missing in this document, that are in wide use in practice. In different sources, I found an additional requirement, also in this picture:

  • at most two consecutive headers (2) or four consecutive stretchers (4) in a row.

I found variants of the rules allowing only five rows of falling or standing teeth, or allowing more stretchers in a row. Unsurprisingly, the rules are often formulated to give the mason a bit of leeway. After all, it is not very easy to fix a problem of you discover it after laying another few layers of bricks!

In practice, the walls I see don’t really follow these rules to the letter. This prefabricated wall of our local library seem to break all the rules (except the first).

Random bond, breaking all the rules

The mathematics

Not having any experience with bricklaying at all myself, I tried to make my own random bond pattern by drawing a picture. I had tried this before when I was a teenager, but failed then because I didn’t really know the actual rules. Now, with the rules, I found out it is not easy at all.

Of course I wrote a computer program to do it. While writing, I found out that it is not easy to strictly follow the rules. If you really fixate on applying all the rules, there isn’t much room anymore, and you often get stuck.

So I asked myself the following questions:

  • Is it possible to satisfy all the requirements for a random bond?
  • Is it possible to make a valid pattern with the strict requirement of falling and standing tooth of only five?
  • How strict is the requirement of at most four stretchers and two headers?
  • Is there a regular pattern that satisfy all the requirements (except for the requirement that it is irregular, of course)?
  • Is there an efficient way of generating a random bond pattern?

All questions can be answered in a single picture. The following repeating pattern does the job perfectly (one iteration of the pattern is highlighted):

Perfect regular random bond

This pattern can be repeated horizontally and vertically to get a random bond with the following properties:

  • Falling and standing teeth: at most 5.
  • The pattern repeats every six rows (which obviously is minimal considering the standing teeth of 5 rows).
  • Every row is the same a repetition of header, stretcher, header, two stretchers (HSHSS); only the starting point shifts for every row. I am pretty sure this is minimal, but I couldn’t come up with a simple proof.

With this pattern, we now know that even the strictest of requirements can be fulfilled.

This discovery brought me into a fundamental philosophical, question about the last requirement the pattern should not appear like a regular bond: what does that mean? I have always read the sentence to mean “the pattern cannot be regular”. Now I realize that you also can read it as: “it should not be one of the regular bonds in the books”. In that case, my regular pattern can be seen as the perfect regular random bond. I’m really proud I invented that; you heard it here first!

If this pattern becomes a new standard regular pattern, it isn’t wild bond anymore; then we need another pattern. I would be proud if that ever happens!

These stone strips are obviously not bricks, as you can see at the corner

Generating random bond patterns

Of course I wrote a program to generate random bond patterns. When writing the program, I found there are many complications. For example, at the edge of the wall it is really hard to avoid standing teeth; if you work too hard to avoid these, you tend to get falling teeth near the edges.

The proportion of headers to stretchers doesn’t have much freedom: there’s about 60% stretchers in number (75% in surface area) of your wall. If you want a different number, you’ll have to break some of the rules. For example, the stone strip placing robot wants to use more stretchers because they are slightly cheaper. To do that, it occasionally makes rows of more than four stretchers. I couldn’t find information on the way it generates the random bond pattern, but I suspect it is a bigger version of the repeating pattern I made.

After a lot of experimenting with a backtracking algorithm, I found it failing quite often. Now I generate random bond patterns as follows:

  • Look at the previous three rows of stones, and check for falling teeth or standing teeth by looking at the gaps (the official word for this is “perpends”, really). If you follow any gap downwards for three rows, you’ll end on a falling tooth, a standing tooth, or both.
  • Count how far the standing or falling teeth go down your previous rows.
  • Put stretchers on strategical places to stop the longest cases. If you’re lucky, you can stop all cases of length 5 this way. Occasionally, you can stop some length 4 cases before they become longer.
  • Fill the rest of the bricks in the rows, taking into account the maximum number of consecutive headers and stretchers. You may have some freedom left over here; use it as much as you like. You could use a random number generator to make the decisions.

This algorithm is not perfect. Sometimes you are forced to break a rule. Often, you find that there are two teeth next to each other, and you can only stop one of them. That’s way it especially helps to stop falling teeth of length four, since it prevents getting two teeth of length fine, one of which cannot be stopped.

And starting the algorithm is hard, because there’s too much freedom. Since there are no standing or falling teeth yet, it looks like everything is possible, but that’s not the case: you might get completely stuck later.

(I will post the code for my program on my Github later, but I am too busy with the zebra emulator at the moment.)

Surprisingly realistic computer drawing of random bond

To my surprise, I found the above website with a brick pattern generator. Although the site is in English, it is from a Dutch company. The site can produce four different bonds, and fortunately random bond is one of them. I very recently found it, and didn’t figure out how it works yet. I guess it uses some fixed set of patterns, instead of generating the random bond on the fly, but I would be interested what they would use otherwise.

Wild bond with many stretchers, with real bricks

The theoretical math question

And then there’s a question that I found to difficult to answer for myself: is there a way to generate all possible patterns that satisfy (some variant) of these rules? That would actually be useful for the robot programmers! With that, we could count how many there are, and hopefully find out what restrictions there are. I may come back to this, if I work further on the program.

If you find a way to generate allowed random bond patterns that satisfy all rules, I am interested!

--

--

Jurjen Bos
Jurjen Bos

Written by Jurjen Bos

Born in 1964, raised in the Netherlands, proud father of two daughters. Love to ride my bicycle. Also love to dive deep into little technical details.

Responses (3)