Way back when, I made a cool but basic paper sculpture (in Maths is Fun and Useful) by hand, using a perl script for the shape template. For cultural reasons, I wanted to make a gift out of paper and it had to be Heaps Good.

I had finally got access to a laser cutter (omgomg) and this was my chance to build something similar but doublegood.

 A 3D graph made out of 240 slices of paper
A 3D graph made out of 240 slices of paper

If you’re wondering, the function z = f(x,y) (for a given position on the horizontal plane) is given by:

z = cos(r1.6 ⋅ (1 + (cos(π ⋅ r/√50) ) ), where r = √(x2 + y2)

(Sorry, no MathJax and LaTeX equations here.)

At first, I’d planned to use bolts to hold it all together. The script places two holes for this; however, M3 bolts would look too chunky on this size of piece, so I cut 2mm holes. But, M2 bolts don’t generally come in 55mm+ lengths.

OK, maybe thread some 2mm rod? My local hardware shoppe sells die, but jeez they’re expensive.

OK, maybe I’ll glue it with Pritt-Stick? Mine ran out. I’m glad, as with 240 slices this would’ve taken about a year and would’ve been very messy. Plus, the glue volume would separate the slices and it probably wouldn’t have sat so flat.

I finally settled on two sections of 2mm rod (bits of wire coathanger), whose ends were crimped to keep the stack in place. First, I straightened the stack against an engineer’s square, inserted the rods (with one end already crimped), then clamped the paper stack together and crimped the remaining open wire ends. I just crushed the ends in a vice to flatten them.

The final piece is much more stable than I thought it’d be without adhesive. As it’s fairly tightly-packed, there’s a ton of friction between the paper slices.

Because I cleverly predicted the slices would get badly mixed up during construction, the script also cuts notches in the bottom of each slice with the slice’s sequence number in binary. This means that it’s possible to re-order them once they fall on the floor (I don’t like jigsaw puzzles). It also creates a cool pattern on the bottom of the finished object:

 Binary slice sequence number
Binary slice sequence number

Get de script

This marvel of perl engineering is available on Github, here.

An SVG generated from this script, with the parameters used to build this model, is available here.

Please send pictures of interesting functions made out of glass, acrylic, stone, etc.!