Image Image Image Image Image Image Image Image Image Image

Being Brunel |

Scroll to top

Top

No Comments

Behind the Scenes of the Brunel Tree

Behind the Scenes of the Brunel Tree

One of the better things about having a blog, is that you can take the time to answer all those questions no one asks, like: “When does Being Brunel get updated?” Well, I’m glad you asked, because as of 2014 I’m switching back from Mondays to the every Thursday routine that I started with. Conveniently this means that, despite how late my Christmas offering was, I’m back to having never missed a week, which, incidentally, is my earth-shattering New Years Resolution for 2014; having failed to achieve none of those I set out for 2013

If I were trying to make a point through all this, it would be that codified Civil Engineering design is unlike software design; and that is to its detriment.

It’s on the subject of questions nobody is asking that I’ll be writing about today. That’s right, this post will finally answer that burning query: “But how did you make that wonderful parametric Christmas Tree designer, truly, Tom, you are a God amongst men and should become president of the ICE and IStructE immediately” [ed. actual phrasing may vary.] Think of today as the engineering equivalent of a DVD Special Feature, and not, for example, a somewhat lazy way of putting together a post in a single evening…

But first, if you haven’t already:

Play Being Brunel’s Parametric Christmas

Around about mid-October I had a bit of an introduction to parametric design (of which, I’ll admit now, the Christmas Tree designer isn’t strictly an example of) and then I got distracted making a game (not, in fact, this one). Come Christmas, however, I had nearly given up on trying to find something like the 2012 offering of Santa Loading, when I thought “parametric” + “game” = “Christmas”. And that is how I came to the conclusion that I should waste my spare time making a game about Christmas Trees… (best. origin. story. ever.)

Now I knew what I was doing, the next step was to LEARN ALL THE THINGS!!! Ironically the easiest part of the execution was learning a completely new language (Javascript) and drawing the sky, snow, ice, tree, stick-figure Tom and bewildering interface in the hitherto untried Raphael engine (named after the Ninja Turtle, I’m sure). The difficult bit, perhaps predictably, was attempting to quickly “dip into” the Eurocodes for a bit of indicative design.

If I were trying to make a point through all this, it would be that codified Civil Engineering design is unlike software design; and that is to its detriment. The reason that both Javascript and Raphael were so easy to pick-up was the multitude of solid examples, prolific bloggers and a community that grows its knowledge in accessible ways.

The difficult bit, perhaps predictably, was attempting to quickly “dip into” the Eurocodes for a bit of indicative design.

The reason that the Eurocodes aren’t is that, as documentation, they are incomplete (to find an indicative wind loading on, and capacity of, a cylinder of wood took five documents), presented in an archaic form (who needs interlinked documents when you can have PDFs?), and written with the bewildering assumption that you are an expert in the subject and just happen to be glancing at a 100 page manual for a bit of a reminder…

But enough of my ranting. The final, and most unexpected, challenge was balancing the world. It’s hard to come up with a reason why you can’t just build a 6km tall tree with a 6km thick trunk, except that you’d be a muppet for doing so. Of course, the obvious thing to do is associate cost to the trunk and happiness to the height; however this creates a linear solution, so all you need do is maintain the same (working) height to trunk ratio ad infinitum to reach astrophysical levels of happiness. In the end I settled on exponential relationships where the coefficients were functions of the geometry. Whilst not interesting, it at least creates a non-obvious optimum point relationship.

For those of you who can be bothered to poke about in the source code you can actually unlock three different types of wood that didn’t make it to the final game, as well making it a true parametric designer by re-linking the checking method to the geometry update. All those with an inquisitive mind can find the original JavaScript in all it’s Open Source glory on my GitHub:

https://github.com/thomasmichaelwallace/paraTree

See you next Thursday…

Submit a Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.