Klein Bottle/Flask Weave

I have always wanted to try making an actual wicker-work Klein Bottle, although doing this in practice would require some serious basketwork skills.

Doing a weave on the surface of a torus is a question of having two helixes (‘warp’ and ‘weft’) running in the two axes of the torus, with the ends eventually meeting. There needs to be an odd number of strands in both directions, to arrange a proper over-and-under weave.

I believe that the same approach does NOT work for a Klein Bottle. The ‘weft’ (blue, in this photo) consists of a helix, which requires that there be an odd number of ‘warp’ threads (yellow). But while the weft is one continuous thread, there appears to be no way to do the same with the warp threads. There are multiple warp threads, each forming a closed loop.

I experimented with putting various twists into the whole thing, in an attempt to get a reduction in the number of threds, but it did not work. I left a full 360 twist in place for the printed model, because it looks cool, however without this, the weave is more at right-angles.

The weft (blue) thread is interesting; although it is one continuous helix, the two ends of the helix come out near the rim, but they end up PARALLEL, running in the same direction! I have simply closed the loop, as can be seen from the top view. I added a single circular thread around the rim, to make the weave parity come out right. For a real wicker-work model, one would loop the end of the weft thread through this circle.

Anyway, Klein Bottles are tricky stuff! You cannot make a proper closed mesh, because the surface normals always end up with anomalies, even though there are no naked edges.

Here is my Grasshopper definition:

KleinBottle13.gh (42.2 KB)


Nice models!

There’s another form of the Klein bottle found by Blaine Lawson that I particularly like, where all the isocurves are circles, and the curve of self-intersection is also a circle.
It’s also a minimal surface, but in S3, not Euclidean space.
It can be generated through a sequence of Moebius transformations:
LawsonKlein.gh (13.1 KB)

I wonder what it would be like to try and weave one in this form.


Er, I require advance notice of this question…

One of the principles of actual weavings, is that if threads in one direction are spaced closer together at one point, then it is ‘nice’ if the threads in the other direction are spaced further apart. The rectangles formed by the weave should ideally have much the same area. If this is NOT the case, the bends needed in the wickerwork are much steeper when the cells are small.

Looking at your amazing surface, I see that the cells are all basically squares, and that their sizes vary a lot. This suggests that simply having woven threads following the edges of the faces would suffer from the above problem. But it may be that a weave can still be arranged, changing the spacing according to the radius in the other direction.

A second principle is that it is ‘nice’ if the threads go on round the surface, rather than immediately meeting themselves in a circle. My model failed in this respect, where on a torus, displacing each thread by one space can give a helix rather than a circle. I have yet to get my mind round the paths followed by the edges of your faces, so I am not sure whether there would be the same issue as with my model. Probably.

Maybe I will leave this to greater minds than mine. Although I really must print that thing to see if I can visualize it better.

Many thanks for showing us this beast!


1 Like

If you are weaving, could you not (no pun intended) double back a thread over the wider squares and then double back again, thereby filling the gap? A Zorro weave!


For the purposes of 3-D printing, I am sure that this sort of thing would solve the problem, but for realistic textile or basketwork weaves, this is not done. Textile weaves are basically tensile structures, where a ‘zorro’ kink would have the effect of pulling the crossed threads together. Basketwork weaves are in both tension and compression, although the overall structure is strong only because the surfaces are compound curves (not flat or developable). Wickerwork supports some compression, particularly if cross-strands prevent bending, but wicker cannot be bent sharply. It would certainly be an interesting visual effect though!

you grasshopper people are fancy. nice work

1 Like