Lego bricks are the best toys ever. Period. A very active brick building community is active online, and here I present some of my humble creations and Lego projects.

I love both Lego Technic and three dimensional modeling with basic bricks. My steam engine in Lego is quite fun. This page is about 3D modeling, for which I use white bricks only. Of all Lego colors, I like white ones for designing sculptures, and I have a few thousand of them for this purpose so I'm bound to white. All of these models, except for the latest one, have been torn down, and most of the bricks have been reused in the most recent model.

On the right is my latest model, a Lego model of Venus de Milo.

Constructing sculptures out of Lego bricks offers a range of interesting computational problems. I have written a whole set of software tools to help with designing the projects on this page.

- Modeling tools generate a three dimensional voxel grid, representative of where brick elements should come
- An optimizing layouter creates layer-by-layer brick layouts
- PDF building plans are constructed from these layouts

The tools are not worthy to be published online. They're more hacks than software tools as of now. Examples of the tools can be viewed below. If you have any modeling requests, let me know.

There's many different pieces of software to generate 3 dimensional grids of bricks (voxels) for the various models. Since I try to build completely different things, the software is quite specific for each project. I have a very simple file format to represent the voxel grids, and some software converts CT scans of objects to that format, where other models require 3d modeling and voxelizing of those models. A downloaded 3D model of a great sculpture, such as in 3DS format, can also serve as an input. I have written a sort of ray tracer to determine the volume of a 3DS model and to convert it into Lego voxels in the format for the next step.

I have written heuristics that help me deciding which bricks to use, layer by layer, to make optimal use of the bricks that are in my stock. The software decides, layer by layer, which bricks to use, making sure that it uses the least possible number of bricks, without having any bricks floating in mid-air, and optimizing the connectivity of bricks in other layers. The following is a screenshot of the software, optimizing a layout for the 16th layer of my double helix model (see below):

The screenshot shows the layout of the bricks for this layer. Red circles denote places where the sculpture will not be supported by the previous layer of bricks. The optimizer prefers using 2x4 bricks, but I don't mind, since I have *lots* of them. In most cases, the optimizer is very capable of minimizing the number of hanging elements, as in the screenshot. There are however many cases in lego modeling where hanging elements will have to be supported from the layers above, making every model a tricky build. I have to consider this from the design phase on.

Thirdly, I have written my own software to generate PDF files out of these building instructions. The software generates building plans on a 1:1 scale.

Below is an example image, showing the layout for the 8th layer of bricks of my building instructions for a Lego skull (PDF).

I've hacked together a great tool that converts a 3DS model to a voxel grid of Lego bricks. Provided with a 3DS model, and a number of brick layers to be rendered into, the program creates just that Lego layout. In order to determine the volume of a 3DS model (which is defined by a set of triangles) I trace rays through the model, observe where the rays enter or exit the model's volume, and put down bricks where a sampler finds plenty of proof of that the brick is within the volume of the 3D model. With some smart coding, the ray tracer renders the brick models blazingly fast.

Here's a proof of concept Lego model of Venus de Milo -- a famous classic scultpure -- that I have built, based on a 3DS model of the same sculpture. It is 55 layers, and not hollow. (Since building this model, I can generate hollow models that take lot less bricks on the inside)

I have building instructions for a human skull, but since the skull is empty on the inside, it's an incredible difficult build. When I tried to build this model, I destroyed it about halfway through to use the bricks for a different model.

Dirk VH and Dave Crumper constructed the skull based on my construction plans. Below is Dave's picture of the completed skull:

Teapots are the favorite objects of people working in 3D computer graphics. The teapot below is a Boston teapot based on the CT scans from Volvis. (Unfortunately, it is not the same teapot as the "SIGGRAPH 1989 Utah teapot" that is so well-known in CG) The inside of the brick teapot is massive, filled with bricks, i.e. not true to the CT scan (the lid would fall into the pot if I didn't do this).

You can download building instructions on scale 1:1 for this teapot, as a PDF (copyrighted by myself, but free for you to use and whatever). You can print out these instructions, and easily build this model your self, given that you have enough bricks.

The Stanford bunny is a very famous ceramic sculpture in computer graphics. Many research groups use the bunny model in demos to test and show new effects. Raw data of a CT scan of the bunny is also available.

The following is my (mirrored) Lego version of the original ceramic bunny, at about half its original size. The brick version of the bunny is true to the CT scan. The inside of the bunny is hollow.

You can download building instructions on scale 1:1 for this bunny, as a PDF (copyrighted by myself, but free for you to use and whatever). You can print out these instructions, and easily build this model your self, given that you have enough bricks.

This is a model of a double helix. It's 35 layers of bricks and weighs just over 2 kilos.

For this model, I have constructed a 3D model of balls representing the spiraling backbones, and cylinders representing the bases between these backbones. You cannot see the separate base pairs as this would have rendered an unbuildable model. The amount of spiraling and the overall design of the model were quite hard, even so that during a first build of the model, I had to start from scratch after puzzling together 20 layers of unstable and not-good-looking double helix.

I have constructed a figure 8 knot, based on the Lego sculpture by Andrew Lipson

The Atomium, built in 1958, is a very famous Belgian building. I have built this model, but unfortunately, I don't have a picture of the final result. Below is a picture of our dinner table while I was building the Atomium model.

You can see how I make my models. There's the model under construction with some supporting structures, plenty of white bricks, sorted to make the construction enjoyable, my laptop shows a few layouts for layers of bricks, and some building helps.

When I worked at the Technische Universiteit Eindhoven, my colleague Ronald Ruimerman worked on the structure of trabecular bone, using simulations of osteocytes, osteoblasts and osteoclasts (cells involved in the break-down and construction of bone structure, based on mechanical forces). I converted one of his models to layouts for Lego bricks, and we used all of our team building skills to construct this model during a single lunch break.

Note: I am not affiliated in any way with Lego, the company

comments powered by Disqus