Do Wavy Walls Really Use Fewer Bricks? I Tested It in Blender

Do Wavy Walls Really Use Fewer Bricks? I Tested It in Blender

波浪墙真的更省砖吗?我在 Blender 中进行了测试

Fifteen years or so ago I read about this cool thing on Reddit, called Crinkle Crankle walls, which is basically an unusual type of wall made out of bricks that is curvy. 大约十五年前,我在 Reddit 上读到过一种很酷的东西,叫做“波浪墙”(Crinkle Crankle walls)。这本质上是一种由砖块砌成的、形状弯曲的非典型墙体。

As far as I can see, this first started in Egypt 3 and a half millennia ago, but nowadays it’s most “common” in England. 据我所知,这种墙最早起源于三千五百年前的埃及,但如今在英国最为“常见”。

Fast forward to 11 years ago and I moved to the UK myself. I had forgotten about these, but one day during a bus trip, I noticed one of these curvy walls out the window. 时间快进到 11 年前,我搬到了英国。我本来已经把这事忘了,但有一天坐公交车时,我从窗外瞥见了一堵这样的弯曲墙。

It got me excited again and I started reading more about it, and that’s when I found out that while there is some information online about them, there’s way less than you would expect. 这再次激起了我的兴趣,我开始深入研究,结果发现虽然网上有一些相关资料,但数量远比你预想的要少。

The theories

理论探讨

There are some mentions on Wikipedia about how “The sinusoidal curves in the wall provide stability and help it to resist lateral forces”, but the source website is always offline when I try to visit it. 维基百科上提到,“墙体的正弦曲线提供了稳定性,有助于抵抗侧向力”,但每当我尝试访问其引用来源网站时,它们总是处于离线状态。

They usually compare it saying: “leading to greater strength than a straight wall of the same thickness of bricks without the need for buttresses”. Hm, same thickness, huh? Well, actually not! 它们通常会这样对比:“在无需扶壁的情况下,其强度比同等厚度的直墙更高”。嗯,同等厚度?其实并不是这样!

I found this out after watching every single video I could find online about it (and later Wikipedia added this detail too: A typical free-standing brickwork wall is “one brick thick”, but this is measured as one brick lengthways. Such a wall is built from two bricks side by side). 在看遍了网上所有能找到的相关视频后,我发现了这一点(后来维基百科也补充了这个细节:典型的独立砖墙是“一砖厚”,但这指的是砖块的长度。实际上,这种墙是由两块砖并排砌成的)。

Loads of sources, because of this, claim that the straight walls use 2 bricks of width (and that’s usually what I see in real life when I walk next to walls) whereas this one uses only one brick, while being stronger (again, varies a lot, some say it’s just as strong, others like random comments in building Discord servers say it’s up to 3x stronger against lateral impact). 因此,许多资料声称直墙需要两块砖的宽度(这通常也是我在现实生活中走在墙边时所看到的),而波浪墙只用一块砖,却更坚固(当然,说法各异,有人说强度相当,也有人像建筑 Discord 服务器里的网友那样说,其抗侧向冲击能力最高可达直墙的 3 倍)。

Ok, well another issue is that while the walls use half the bricks in width, surely it compensates and uses more in length because of the curves, right? And surely this depends a lot on the amplitude and frequency of the sinusoid that makes up the wall. 好吧,另一个问题是,虽然这种墙在宽度上节省了一半的砖,但由于曲线的存在,它在长度上肯定会消耗更多,对吧?而且这肯定很大程度上取决于构成墙体的正弦波的振幅和频率。

Well, it’s basically impossible to find any clear information. There are some out there that sound like the holy grail, for example Wikipedia talks about how Thomas Jefferson, yes, that one, incorporated serpentine walls into the architecture of the University of Virginia and that there is a university document in his own hand where he shows how he calculated the savings and combined aesthetics with utility. And you’ve guessed it, when I click the source… No results found. 总之,几乎不可能找到明确的信息。网上有一些听起来像“圣杯”般的资料,例如维基百科提到托马斯·杰斐逊(没错,就是那位)是如何将蛇形墙融入弗吉尼亚大学建筑设计的,并称有一份他亲笔书写的文件,展示了他如何计算节省的成本并将美学与实用性结合。不出所料,当我点击来源链接时……找不到任何结果。

The only measurement I could find is this image from gobrick. It helped with the angles, but it wasn’t everything I needed. 我唯一能找到的测量数据是 gobrick 的这张图片。它对确定角度有帮助,但并不是我所需要的全部。

So I did the next best thing and I obsessively looked at all the images I could find, checked Google Maps and tried to come up with a measurement. 所以我退而求其次,疯狂地查看了所有能找到的图片,查阅了谷歌地图,并尝试自己推算出一套测量数据。

Building the wall in Blender

在 Blender 中构建墙体

I went straight to Blender, and started making a fully procedural serpentine wall in geometry nodes. It took a couple of hours but what I ended up with is this beauty of a network: 我直接打开 Blender,开始使用几何节点(Geometry Nodes)制作一个完全程序化的蛇形墙。花了几个小时,最终我得到了这个漂亮的节点网络:

I have attached the Blender file here so you can go through it at your own pace, but I do want to highlight some of the cool things I’ve had to do. 我在这里附上了 Blender 文件,你可以按照自己的节奏查看,但我还是想强调一下我所做的一些很酷的事情。

For example, the way I created the wall is I have generated a curve, I have shaped it as a sine wave (with controls over frequency and amplitude) and then later on, for each point on that curve I would spawn a brick. 例如,我创建墙体的方法是:先生成一条曲线,将其塑造成正弦波(带有频率和振幅控制),然后在那条曲线的每个点上生成一块砖。

All good, but I wanted my wall to be more than a brick tall, which means I now needed to spawn a vertical line with however many points I want to have bricks, and then for each point I spawned my sinusoidal line of bricks. 一切都很顺利,但我希望墙体的高度不止一层砖,这意味着我需要生成一条垂直线,上面有我想要的砖块数量的点,然后为每个点生成我的正弦曲线砖块。

The issue? Well, they all started and ended at the same point, and I wanted them to be offset like in real life. I wanted every other line of the wall to be offset by half a brick, and I couldn’t do that because by the time I had spawned the lines I lost their index. 问题在于,它们都从同一点开始和结束,而我希望它们像现实中那样错位排列。我希望墙体的每一行都错开半块砖,但我无法做到这一点,因为当我生成这些线时,我已经丢失了它们的索引。

Then I discovered that Blender added “for each” nodes in geometry nodes since I last used it, which let me run whatever algorithm I wanted through all the lines while getting a new index, which is exactly what I’ve done. 后来我发现,自上次使用以来,Blender 在几何节点中增加了“For Each”节点,这让我可以在所有线条上运行我想要的任何算法,同时获得新的索引,这正是我所需要的。

Another thing I found pretty neat is that I have created the bricks in geometry nodes too, based on the UK brick measurements, and then at the end, to find out dynamically how many bricks my wall had in total, all I needed to do is divide the total number of faces in my wall by the total amount of faces in my brick. 另一件我觉得很棒的事情是,我也用几何节点创建了砖块,并基于英国砖块的尺寸进行建模。最后,为了动态计算墙体总共用了多少块砖,我只需要用墙体的总面数除以单块砖的总面数即可。

The brick material is nothing to write home about, I have just played around with random noise and colours until something looked good enough and random, where it would be harder to notice the repeating pattern. 砖块材质没什么特别的,我只是随意调整了随机噪点和颜色,直到看起来足够自然且随机,这样就不容易看出重复的纹理图案了。

The point of this whole thing wasn’t for it to look good, right? Ok, I’m just coping. 做这一切的目的并不是为了让它看起来好看,对吧?好吧,我只是在自我安慰。

Does it use fewer bricks?

它真的更省砖吗?

I basically did the same for the straight wall but I skipped the sinusoidal function and lo and behold, I had fully parametric walls in Blender. 我基本上对直墙做了同样的操作,只是跳过了正弦函数。瞧,我在 Blender 中得到了完全参数化的墙体。

So what does that mean? Well, we had to find out in real time, does this use fewer bricks for the same length? I already had the computed length in the geometry nodes so using some more font magic I instantiated that on the screen in 3D and rendered it overnight: 这意味着什么呢?我们需要实时验证:在相同长度下,它真的更省砖吗?我已经通过几何节点计算出了长度,所以利用一些字体特效,我将其在 3D 屏幕上实例化并渲染了一整晚:

Look at that, at 100m the serpentine walls use 55% as many bricks when built the way most of the ones I can find are! That is massive! So myth confirmed there. 看看吧,在 100 米的长度下,按照我找到的大多数案例的建造方式,蛇形墙仅使用了直墙 55% 的砖量!这太惊人了!所以这个传言得到了证实。

The impact test

冲击测试

But what about it being more resistant to lateral impact? Well, I have added a slope with a 150kg metal ball rolling down it towards our beautiful serpentine wall. 但它真的更能抵抗侧向冲击吗?我设置了一个斜坡,让一个 150 公斤的金属球滚向我们漂亮的蛇形墙。

Well, ok, the wall fell… Not great. Let’s see how the straight wall with double thickness fared: 好吧,墙倒了……表现不佳。让我们看看双倍厚度的直墙表现如何:

Well that fell too, but the ball didn’t get to the other side, so I think I would call this myth a bust. 好吧,它也倒了,但球没有滚到另一侧,所以我认为这个传言被打破了。

But ok, I hear you, why don’t we try with a heavier ball? Alright, I got the 300kg ball out of the depths of Blender. And… 不过,我明白你们的意思,为什么我们不用更重的球试试呢?好吧,我从 Blender 的深处拿出了 300 公斤的球。然后……