mathr / blog / #

Weaving a torus

Weaving a torus

Inspired by these woven paper baubles I wanted to weave a torus. My first experiment with diagonal weaving failed miserably, and my second experiment with rectangular weaving also failed, but not quite as miserably - I had failed to take into account the thickness and rigidity of the paper.

I chose a torus with major and minor axes in a 2:1 ratio, and approximated the loop with 12 slices and each slice with 8 segments, aligned to give a flat plane on the top and bottom of the torus. The planar faces and straight line edges of the resulting solid make it possible to construct out of non-stretchy sheets of paper.

This a cross section through the torus aligned with the corners. The two rings are the surface of the torus, and the inscribed octagons are the edges of faces, with the corners touching the torus:

section through edge

From the top you can see the 12 slices entirely within* the body of the torus - 3 of the segments are visible trapeziums, with 2 more vertical rectangles at the outside and inside, and 3 hidden segments underneath (but with orthographic parallel projection the view from the bottom would be identical):

plan from top

Viewed from the side you can see that the vertical faces on the outside edge are indeed rectangles, here's the outside and inside parts:

outside elevation through faceinside elevation through face

Rotating the view half a slice to give an edge-on view:

outside elevation through edgeinside elevation through edge

So that's the shape I wanted to weave out of strips of paper, with a simple over/under alternating pattern - one direction of strips going around the whole loop, and the other direction going around the ring (through the hole in the middle). These directions are happily perpendicular.

The tricky part is finding what shape the strips should be - the circumference on the inside is shorter than the circumference on the outside, so the strips around the ring need to be narrower and wider at those parts respectively. This is where the approximated flat-surfaced solid comes in - unwrapping its faces into strips in each direction gives a net that can then be woven together.

The strips going around the ring have changing width, while the strips going around the loop have changing angle - the flat surfaces on the top and bottom are octagonal, the outside and inside rectangles unfold into long thin rectangles, but the other sloping sides are more awkward. They unwrap into strips of trapeziums, which curve across the page.

Some trigonometry can find the exact shape of each face and thus the strips, but if you do this and try to weave it together it doesn't work because there isn't enough space - paper isn't infinitely thin. So I reduced the width of each strip a little to give about a millimetre and a half of wiggle room, and here's the final net:

torus weaving net

I changed the colours and page layout from the one I cut out and made, but the shapes are all the same. Here's a 600dpi torus weaving net in case the 72dpi one inline in this page doesn't print well (even though they're both SVG). The final woven torus is about 6cm across. Putting it together is a matter of weaving the strips together alternating over/under - I found it easiest to start at the inside and work outwards, even so it's very fiddly and time consuming. Some pictures of the process:

* it isn't strictly true that the faces lie entirely within the torus - taking a cross section aligned with the faces shows the inside edges poke through the surface:

section through face

Fixing this would require moving the corners on the inside further away from the center of the torus, and would distort the shape even more (you can see that cross section isn't a regular octagon).