A Connection between Twine String and an Elliptic Curve
Year: 2025 Authors: Anneke T.E. Meijer-Treep
Core claim
Comparing lattice counts along windings and circles reveals a geometric interpretation of the elliptic curve y² = x³ - x in twine-string models.
Topics
twine string, hyperbolic crochet, lattice counting, elliptic curve
Domains
elliptic curves, hyperbolic geometry, modular arithmetic, craft, textile art, material modeling
Methods
crochet modeling, pattern notation, lattice analysis, comparative counting
Media
natural fibers, crochet yarn, colored lines
Paper text
The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.
Bridges 2025 Conference Proceedings
A Connection between Twine String and an Elliptic Curve
Anneke T.E. Meijer-Treep
De Onzichtbare School, Vledderveen, The Netherlands; anneke@deonzichtbareschool.nl
Abstract
In this paper we approach the ancient craft of twining string from a new perspective. We introduce a technique to model twine string using hyperbolic crochet and learn to count on the lattice of stitches that forms a strand’s surface. We explore how the motions of twist and twine transform the strand’s lattice and compare different ways of counting. In doing so, we make a surprising connection to a specific elliptic curve.
Introduction to Twine String
The skill of twining string from natural fibers dates back more than ten thousand years [1]. Records found include imprint adornments on pottery more often than actual fibers, which by their very nature decay easily. Even if twine string is usually no longer made by hand, most people know how it feels to first overtwist a length of string and then double it up to allow the tension to release as a twine string will form itself naturally. The word ‘twine’ implicitly refers to two (similar) strands, while ‘rope’ may also consist of more than two; that’s why I will use ‘twining’ and ‘twine’ rather (‘laying’) two-stranded rope’.
In this paper, we will only consider this basic form: plying two strands together by first twisting them one way (each around their own axis) and then around each other in the other direction, so they settle neatly around each other, always touching at the center. Depending on the direction in which the strands are twisted, the result will display either a left- or righthanded chirality
Figure 1: Two lengths of twine string from linden bark fibers and a section in detail
Seeking to learn the patterns of nature, this skill of making cordage caught me, and after spending many hours twining string, the consistent way the two twisted bundles make a twine called out to me. I felt compelled to explore the mathematical nature of the structure and patterns of twine string. It wasn’t just the predictable way in which I felt the fibers settle. It was also the fact that the resulting string never showed any sign of tension or deformation even when I used linden bark fibers with lengths of two meters or more. And looking closer, I noticed how the fibers in the string all run almost perfectly in the lengthwise direction of the string; they seem to wave up and down in perfect harmony and hold each other in place so that the ends hardly unravel – at least not nearly as much as they would without twining. And last but not least, there’s the intriguing loop that forms when doubling up a twisted fiber…
Modeling Twine String
Take another good look at the strings in Figure 1 and try to imagine a way to model them with thicker, colorful strands that can be plied together. Preferably, these should allow highlighting structural aspects or areas of interest. How to do that? After some experimentation, I developed a method using crochet: it starts with modeling a strand by making a long, striped cylinder that allows being twined back onto itself. Figures 2(a), 2(b) and 2(c) illustrate the technique, making a (short) cylinder, while a much longer model is shown twisted in Figure 2(d) and then twined by doubling it up in Figure 2(e).
Meijer-Treep
(a)
(b)
(c)
(d)
Figure 2: Steps in modeling twine string: (a) crocheting a “windspinner”, (b) stacking the windings, (c) adding colored lines, and a much longer model (d) twisted and (e) twined by doubling up.
(e)
The first step (a) involves crocheting a hanging spiral also known as a “windspinner” when used as a decoration that rotates in the wind. It is made from a series of chain stitches followed by one or more rows with a consistent number of increases. The example shown has 84 chain stitches followed by two rows of two doubles in every stitch of the previous row. These increases cause the work to curl and form a spiral of windings (360 degree turns). The stitches along the rim (the outer edge) we call rim stitches.
In the second step (b), we stack the windings, i.e. we pack the consecutive windings close together and fix the number of rim stitches per winding, aligning them in neat rows. As the spiral can be tightened or loosened to some extent, it helps to thread some lengths of yarn through the corresponding rim stitches so we can just slide the windings together along them. (An easier way is to insert these as “guide lines” during the first step). Figure 2(b) shows two guide lines being used to form a stack with twelve stitches per winding. In a work without errors, this results in sturdy yet flexible cylindrical “body”, whose outer surface displays a lattice consisting of the individual rim stitches.
In the third step (c), colored lines are crocheted onto the rim stitches to connect the consecutive windings at regular intervals, thus forming ‘straight’ lines across the lattice. These lines both stabilize the model and allow easier identification of the corresponding stitches for each winding, thus showing the amount of twist applied. When done, the guide lines are removed and the loose ends finished off neatly.
The fourth step (d): make a (much) longer model, and have fun starting your own explorations!
Pattern Notation
In order to be able to reproduce a model and exchange patterns, I developed a system to describe the consecutive steps in terms of crochet stitches (using British crochet terminology here). The model in Figure 2 is then written as “Ch84 D2 D2 W12 L6 Ch1”, which is shorthand for the instructions:
Ch84 Make a chain of 84 stitches;
D2 In the next row, make 2 doubles in every stitch of the previous row (i.e. the chain);
D2 Again, make 2 doubles in every stitch of the previous row, giving rim stitches;
W12 Stack the windings so each has 12 stitches (use one or more guide lines if needed).
L6 Add six colored lines (spaced evenly) to connect the stitches of consecutive windings;
Ch1 While adding the colored lines, make 1 chain stitch between windings.
The resulting model will then have windings of 12 stitches each, which we write as 28W12. The instruction for adding colored lines (L6) assumes the lines will be spaced evenly going around the winding, while the last instruction (Ch1) affects the spacing between windings. For those who want to make their own models: a detailed set of crochet instructions is available as a supplementary PDF [2].
A Connection between Twine String and an Elliptic Curve
The Lattice of Rim Stitches
A Strip of Hyperbolic Plane and a Lattice
Using a consistent amount of increases (like D2), the resulting spiral will embody a strip of hyperbolic plane [3]. The starting chain forms one long edge of this strip, the other consists of the rim stitches. In stacking the windings, these become the body’s center and surface respectively. Then, the colored lines connect points that lie a certain distance apart on the hyperbolic plane. Going up a winding along a colored line thus means taking a shortcut: on the hyperbolic plane (the helical windings), we would need a longer route, e.g. going around the rim, or first towards the central chain, up a winding there, and back to the rim.
Since crochet work is flexible, we can tighten or loosen the windings to some extent to vary the number of stitches per winding; the diameter of the cylinder will change accordingly. This can be controlled by the way we make the colored lines; adding in extra (or no) chain stitches between windings gives the model more (or less) freedom of movement and restricts the possible lattice configurations.
When we only want to specify the number of stitches per winding, we write , where (N) denotes the number of stitches. Figure 3 illustrates how twisting a model (gradually loosening the windings) changes it from W24 to W26; notice the effects on stitch alignment and on the colored line of the original W24 model. We recommend experimenting with different amounts of twist and different spacing between the windings and generally getting a feel for what a model can and can’t do.
(a)
(a) Untwisted W24, (b) twisted to , (c) twisted to W25, (d) twisted to , (e) twisted to W26.
(b)
(c)
(d)
(e)
Figure 3: Twisting a W24 model, increasing the number of stitches per winding:
Coordinates on a Lattice of Windings
With such crochet models it feels more natural to count stitches and windings than in the exact lengthwise and circular (cross section) directions. Not just because the windings will always be tilted just a bit with respect to this cross section (even when the colored lines run exactly lengthwise), but also because different colors of yarn allow us to still easily orient ourselves after bending, twisting or twining a model.
Our twine model is structurally the same everywhere, so we can choose a specific stitch as the “zero” stitch. Starting there, we can count along the rim following the natural order of the crochet stitches and assign to every rim stitch a number from . In a W12 model, every stitch will sit on the same colored line as the zero stitch. This allows us to easily count windings: the zero stitch is the starting point for the first winding, the stitch is the starting point for the second winding, etc. Thus, the direction of counting windings matches that of counting stitches: moving up in the lengthwise direction of the cylinder. We call the line through the zero stitch the zero line or base line. Or, to specify the number of stitches per winding, we may call it the 12-line. Similarly, a 14-line connects every stitch starting from the zero stitch.
Representing the Lattice
As long the colored line runs lengthwise over the cylinder, a winding has a (positive) whole number of stitches. The length of the winding is then defined by the number of stitches in that winding. We will represent the cylindrical lattice of rim stitches in the plane using an almost rectangular grid as follows: Assume the cylinder runs left to right, with the zero stitch at the front left. We then “cut” the cylinder
Meijer-Treep
lengthwise at the rear, and then “flatten” the result. We leave out the stitches before the zero stitch, but add some to the other end so that a whole number of windings is represented. For a model 24W12 L6 this means we can represent the 24 windings of 12 stitches as well as the six colored lines as in Figure 4(b):
(a)
(b)
Figure 4: Lattice of rim stitches: (a) the crocheted 24W12L6 model, (b) 24W12L6 diagram.
This diagram has some cells missing in the lower left, and some additional ones on the lower right, serving as a reminder that we’re looking at a grid representing windings rather than circles. The arrows indicating how the top cell of the first column matches up with the bottom cell of the second column serve the same purpose, but will often be omitted. The number of cells “missing” at the lower left may vary; as long the diagram is not exactly rectangular, it depicts a lattice of windings rather than circles.
Technically it is possible to model twine string by crocheting discs around a central chain (I tried!), but these will lack the smooth elegance of connected windings. In the case of N stitches going around a circle, the angles would then be expressed as multiples of , starting from the zero line, and we would indeed use a 24x12 rectangle for a diagram. We will return to relating these two approaches (counting in windings or in circles) after some further explorations.
Infinitely Many Stitches per Winding?
Next, suppose that the rim stitches on consecutive windings don’t quite align, but that we can find a stitch in the lengthwise direction after M windings (with a total of N stitches). We then say that every winding has N/M stitches. One might naively think that we can easily scale the lattice to a whole number of stitches per winding by using k times finer yarn – allowing us to have a factor k more stitches in all directions, in particular k times more stitches per winding as well as k times more windings in total, thus squaring the number of stitches in the lattice.
However, recall that the interior is made using hyperbolic crochet! With fixed increase factor, having k times as many rows from central chain to rim increases the number of stitches exponentially! To compensate, we might shorten the chain length accordingly. Changing the increase factor and/or the chain length works only within a certain range, or the rim will become either too long to make proper windings or too short compared to the chain. Simply put, there are natural boundaries to the amount of (un)twist that a stack of windings can take. Determining these boundaries lies beyond the scope of this paper.
For now, we notice that since the central chain will not be a stiff object but spirals a little itself, we can (at least theoretically) crochet pretty much any size lattice on our cylinder even if the central chain no longer stretches out as a central axis but instead curls up around a tubular space at the core.
Exploring Twine Structure
Now that we have some feeling for the way we can model twine string and how to depict it graphically, let us return to the original question: what path do the fibers follow in a twine? That is, what happens when we first twist two strands, and then twine them around each other?
While the 28W12 model makes for a small enough project to become acquainted with the required crochet techniques, for this exploration we need either two longer models to twine together, or one very
A Connection between Twine String and an Elliptic Curve
long model. In Figures 2(d) and 2(e) such a long model (154W12L6, pattern “Ch 308 Tr6 W12 L6 Ch1”) was twisted and then doubled up to twine it back onto itself. While the loop (or bend) displays fascinating patterns as well, we will restrict ourselves to just the twine structure here.
To create the twine, the whole length of the model has first been uniformly twisted over some angle (per winding), giving us a periodic pattern that repeats every time a colored line wraps around the cylinder. Then, as the two strands twine together, some of the twist gets undone. This may be hard to see from the pictures, yet is easy to feel as it happens.
In the twine, the colored lines “wave” up and down, creating new patterns that depend on the amount of twist being undone. If exactly half the twist angle is undone, some of these lines will form lengthwise stripes, while others alternate in pairs. Otherwise, the twine will contain some overtwist (or undertwist) and the wavy pattern will become more intricate. By varying the initial amount of twist, we obtain a “faster” or “slower” twine, while the pattern essentially stays the same.
Last but not least, notice how an invisible, elusive, straight line suggests itself: the inner axis of the twine – right there where the two strands touch. Yet “opening” the twine to peek at it, disturbs it. In Figures 5(a) this line is hidden from view, while Figure 5(b) shows only one strand of the twine with a knitting needle inserted to depict the inner axis. Strangely, it appears as if this is the only straight line left while all other lines have now been transformed to some kind of wave!
(a)
(b)
Figure 5: The inner axis (a) hidden at the center of the twine and (b) marked on just one strand
Locating the Elusive Line
This inner axis seems to add another level of periodicity and more (rotational) symmetry, so we wonder where to find its path on the untwisted model. In other words, we’re looking for the line on the lattice that corresponds with the path of the knitting needle in Figure 5(b). Clearly, it must run at an angle greater than zero with the colored lines, or else the two strands will just run straight without getting twined. Small angles will give a “slow” twist and thus a “slow” twine, but if we make the angle with the zero line too big, the two strands will get in each other’s way.
Thus, by choosing a helical line on the cylinder’s surface and then straightening it, we may imitate the shape changes involved in twining. Threading a length of yarn (rather than a knitting needle) through the chosen series of rim stitches and then pulling it taut, we can dynamically and gradually change the model from cylinder to twine strand. Note that we may thread a line either going “with” the windings or “against” them. When pulled taut, the former type will loosen the windings somewhat, the latter will tighten them a bit. No wonder: just like the original guide lines, they line up stitches at fixed intervals.
Figure 6 illustrates how this works for the 28W12 model. Figure 6(a) shows the first few windings of the W12 body, with a green line connecting every stitch, and a light-blue line connecting every stitch. Figure 6(b) shows the diagram for the 28 windings of 12 stitches with the 11-line marked in red and the 13-line in black. When tracing these lines across the top/bottom, remember to take into account how the windings account for a shift of one unit! Some stitches have been numbered to allow for easy reference of features described below.
Meijer-Treep
In the diagram, we see how the two lines form “rectangles” (on the lattice of windings, they are actually parallelograms, since the windings make an angle with the circular cross section) and cross at regular intervals, though not always exactly in the middle of a stitch.
(a)
(b)
Figure 6: Threading lines at an angle on a 28W12 surface: (a) in practice, (b) diagram.
With 12 stitches per winding, the 11-line and 13-line will cross at stitch 143 (because ), as well as at all multiples thereof. Since the zero line contains all the multiples of twelve, the crossing at stitch 143 falls just one stitch short of that line, the one at 286 falls two stitches short and so on. But there are more crossings: since both lines run around the body in opposite directions, they also cross about halfway around every time; these are the crossings found at the top of the diagram.
The diagram shows how both types of crossings slowly cycle around the cylinder, shifting one stitch at a time. This holds true no matter how long the cylinder and how many stitches per winding: with N stitches per winding, the “N-1” and “N+1”-lines will cross each other at stitch (N-1)-(N+1) = (N²-1), falling one stitch short of the “N”-line. The diagram also helps us see how for a model using circles rather than windings, the two threaded lines will form squares rather than slanted rectangles, and so the two threaded lines will always cross exactly on stitch N² as well as on the half-way point N²/2.
Pulling the Threaded Lines Taut
Now we come to one of the most beautiful aspects of twine string: having threaded two lines at an angle through our tangible crochet model, we can pull them taut (not at the same time, of course). Since the beauty of this motion cannot be expressed adequately in words, let me highlight it thus:
Pulling a threaded line taut transforms the model, and the line becomes the twine’s central axis.
To get an impression of what this looks like in practice, see Figure 7, where we take the 11-line on our long untwisted W12 model as an example. The 11-line at this point runs around at an angle. As we pull this helical line taut, the W12 model has to adjust to its straightening. It will not turn all the way into a W11 model, because the windings are connected by their colored lines as well as the central chain. Instead, the whole thing starts curling around the new base line, transforming from Figure 7(a) to 7(b).
(a)
Figure 7: An untwisted W12L6 model (a) before and (b) after pulling the 11-line taut
(b)
A Connection between Twine String and an Elliptic Curve
In doing so, it will adopt a helical shape similar to that shown in Figure 5(b), though it will not be as tight. In the first place, the threaded line started out longer than the model and there was no tension in the colored lines to shorten them. Secondly, the twine’s axis will now run just under the surface (namely through the rim stitches) rather than on top of the surface, as was the case with the knitting needle. After studying the curly model for a while, let go of the line and pull the other one taut…
From here, we can explore different angles of twist (shortening or lengthening the strand by pushing it together or pulling it apart) and leaving under- or overtwist (by rotating it around the new base line). Thus we may even adjust it to a zero-twist twine, where each colored line will wave back and forth in its own plane. For some explorations, one may prefer using a knitting needle over a threaded line.
Comparing the Paths of the Threaded Lines
Studying the model further, we observe that the original axis (i.e. the central chain) of each strand will wind around this new axis at a distance of the strand’s radius, while all of the colored lines form a repeating pattern of waves that extend out twice that distance.
With one line pulled taut, consider the path of the other threaded line. It too makes waves that extend out over the full width of the twine, while at the same time all of the crossings must lie on the twine’s central axis. This can be hard to picture without having a model at hand; the model shown in Figure 8 may come in helpful here:
(a)
(b)
Figure 8: A 48W24 model with the threaded lines marked, (a) untwisted, (b) as a twine strand
The rim stitches of this model have been crocheted using different colors: the stitches through which the threaded lines run are dark red, while those inside the slanted rectangles are made with pink and white yarn respectively. In Figure 8(a), the model is untwisted, its six colored lines all running lengthwise. By pulling the 23-line taut, it will take the shape of a twine strand as shown in Figure 8(b), where a knitting needle was inserted along that same path to add some depth to the picture. From left to right, we see how the twine strand first goes over the knitting needle, then under, and again over and under.
This helps us see that the other threaded line follows the other set of dark stitches, with waves extending over the whole width of the twine: first at the front, then across the knitting needle to the rear, to the front again, and back to the rear. We see that this threaded line has thus been stretched out quite a bit, while the one pulled taut runs through stitches sitting close together.
Double periodicity
Having gained some insight in twine structure, lets recall how Figure 6(b) showed that the interactions of the threaded lines with the colored lines have different periods, causing the crossings to slowly rotate around the central axis of untwined model. Thus, the twine model displays a doubly periodic pattern:
The first period is caused by the relation between the colored lines and the threaded line; for N windings this period amounts to either (N-1)·N or N·(N+1) stitches, depending on the choice of threaded line. In the example above it amounts to (N-1)·N = 11·12 = 132 stitches;
The second period is caused by the interplay of both threaded lines and the colored lines, repeating every stitches. Here this amounts to stitches.
Comparing the Different Ways of Counting
In the discussion above we have seen how the concept of pulling lines taut can be implemented on the cylinder in two ways: either by counting along windings of N stitches or along circles of M stitches. In the former case, we have seen how for a W(N) model the lines “N-1” and “N+1” create a pattern that repeats every (N-1)·N·(N+1) = N·(N²-1) = N³-N stitches. The latter has a pattern that repeats every M² stitches.
This leads us to consider the following question: do there exist numbers M and N for which we can overlay the two counting models (along windings or circles), perhaps using more than one copy of either kind, and end up at the same point on the cylinder? In other words: can we find solutions to the equation for some integers a and b:
a·M² = b·(N³ - N)
This formula suggests that the interplay of the two coordinate systems applied to twine strings can be interpreted as a geometrical representation of a particular elliptic curve: y² = x³ - x.
Thoughts on Possible Connections Between Twines and Elliptic Curves
Thinking of crochet stitches, at first sight this equation makes sense only for finite fields, where both counting models (counting along discs or along windings) provide a natural setting to apply modular arithmetic. Yet as we have seen in Figure 3, the latter approach also has a way to make smooth transitions between different numbers of stitches going around, namely by adding or removing twist. To describe such smooth transitions, we might perhaps look at Lie theory.
From my experience so far, it seems that using only two strands is essential in many respects, because with three or more, there will be open space at the center of the twine and there can be no lines of any kind passing through the twine’s central axis.
I hope you enjoyed this new approach to twine string and look forward to pursuing this connection to a specific curve in more depth, along with other intriguing features of twine string, such as the limits imposed by the internal hyperbolic structure, properties of the twine loop, the symmetries involved, and last but not least the ways in which this technique can be applied to the study of tori, torus knots and more.
Summary and Conclusions
Using a novel crochet approach, anyone can now explore twine string by crafting their own supple strands whose surfaces consist of individual crochet stitches. Onto these models colored and threaded lines may be added that correspond with different stitch intervals. Pulling such a threaded line taut, the model changes shape so that the twined strands display a doubly periodic pattern. The periods found suggest a geometric interpretation of the elliptic curve y² = x³ - x that arises from comparing two ways of describing twine string.
My gratitude goes out to the plants and animals providing the fibers to twine with, to the people who have passed on their skills in making cordage by hand, in crochet and in nature mentoring. Also to those who have inspired and supported me to continue exploring these fascinating patterns even when I found it difficult to articulate my observations or our living room had been overtaken by crochet projects. And last but not least, to the reviewers of this paper, for their valuable and positive feedback.
References
[1] L.P. Louwe Kooijmans e.a. “Archeologie in de Betuweroute: Hardinxveld-Giessendam Polderweg.”, Rapportage Archeologische Monumentenzorg 83, NS Railinfrabeheer B.V., Utrecht, 2001, p.413.
[2] A.T.E. Meijer-Treep. “How to Crochet a Rolling Torus”. Private publication, 2024.
[3] D. Taimina. “Crocheting Adventures with Hyperbolic Planes: Tactile Mathematics, Art and Craft for all to Explore”. Second edition, CRC Press, 2018, pp.21-23.