Single-Strand, Two-Sided Cross-Stitch

Year: 2025 Authors: D. Jacob Wildstrom

Core claim

Changing the fabric topology from a rectangle to a loop or Möbius band breaks parity constraints enough to make single-strand, two-sided cross-stitch possible.

Topics

cross-stitch embroidery, parity and bipartite graphs, topological surfaces, two-sided patterning

Domains

graph theory, bipartite graphs, graph products, parity, embroidery, fiber art, textile pattern design, craft aesthetics

Methods

graph-theoretic analysis, topological argument, stitch-path construction, comparative design discussion

Media

thread, woven cloth, rectangular grid, sewn loop, Möbius band

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

Single-Strand, Two-Sided Cross-Stitch

D. Jacob Wildstrom

University of Louisville, Kentucky, USA; djwild01@louisville.edu

Abstract

In the art of cross-stitching, the back of the work is typically where strands are carried to transition between different places where a certain color needs to be used; thus, while the back of the work is ideally tidy, it does not typically constitute an attractive pattern in its own right. In addition, the back of the work is also where the ends of strands are fastened. Ideally, then, the extreme in cleanliness of a cross-stitched work would be a work whose back also exhibited an aesthetically pleasing pattern, and which is worked with only one length of thread to minimize the need to fasten ends. Unfortunately, it is impossible to make a coherent pattern of full stitches on a rectangle of fabric satisfying these conditions, but within a well-chosen size of closed loop or Möbius band, it is possible to cross-stitch two-sided artwork with a single thread.

Introduction

Cross-stitch is a form of embroidery in which colored threads are stitched through the diagonals of a rectangular grid of spaces in a woven cloth; placing such stitches across the front of both diagonals of a single square in the grid is called a full cross-stitch, the most commonly used stitch in the art. Cross-stitch patterns are typically meant to be viewed only from the front, and nondiagonal stitches are frequently used on the back. For instance, to work a single full cross-stitch, it is common practice to stitch one diagonal on the front, followed by passing the thread on the back to one of the other two diagonals of the same square, and then stitching the other diagonal, shown in Figure 1a. Alternatively, to stitch a row of full cross-stitches, one might work all the diagonals in one direction on the front with vertical repositioning stitches on the back, followed by working backwards along the same diagonals with horizontal repositioning stitches, as seen in Figure 1b.

Notably, the conventional practices for cross-stitch do not produce a recognizable pattern of full cross-stitches, characterized by the X-shaped diagonals, on the back. Typically the back of a cross-stitch work consists chiefly of horizontal or vertical stitches, which are in nearly the same position as but distinct from the stitches appearing on the front. While it’s common to use a single-step repositioning stitch on the back to get between two areas of the same color separated by single grid square, many artists tend to avoid long or diagonal repositioning stitches on the back. A point of pride in some cross-stitch communities is to display one’s work in a transparent frame, with no mat, so that the back of the work can be seen and its tidiness appreciated.

img-0.jpeg (a) A single full stitch.

img-1.jpeg (b) A row of full stitches. Figure 1: A typical ordering of stitches for full cross-stitch. Numbers and arrows indicate the order and direction worked; black segments appear on the front of the work, gray segments on the back.

Generally, however, even those artists who strive for a neat back to their work do not attempt to make the back of the work exhibit a cross-stitch pattern. The steps taken on the back of the work fulfill a critical purpose, in that they allow freedom to place the next stitch on the front of the work wherever the artist wishes. In particular, it becomes clear, on some investigation, that if an artist attempted to finish their work using only diagonal stitches, fully half of the spaces in the cloth could never have stitches placed through them. Coloring the grid of spaces as if it were a chessboard, diagonal movement among the spaces (like a chess bishop) could only reach squares of the same color, and for every single full cross-stitch the artist wanted to create, half of the stitch would be between unreachable points in the fabric. Fundamentally, what occurs here is a parity problem, in that, if the grid is coordinatized conventionally, adding the diagonal vector to one’s current position does not change the parity of the sum of the coordinates, making it impossible to reach an odd vertex from an even one or vice versa.

There are several ways a sufficiently motivated cross-stitcher could nonetheless put a recognizable cross-stitch pattern on both sides of a piece of fabric. One approach would be to use two separate lengths of thread, one to fill in all the necessary stitches between the “odd vertices”, and one to fill in all the necessary stitches between “even vertices”. Another approach would be to work a single horizontal or vertical stitch after working half of each stitch, cheating on their resolution to only work diagonal stitches in only a single location, switching vertex parity only once. As a practical matter, both of these approaches are possible, but both have disadvantages: using two lengths of thread would require both lengths to be secured at their ends, a procedure which produces some necessary untidiness, and a “cheat stitch”, unless cleverly hidden behind some other details, would be a visible aberration in the design.

One enterprising way to break the tyranny of parity, however, is to change the underlying geometry of the work. While a rectangular grid has intrinsic parity (or, in graph-theoretical terms, is a bipartite graph), the same is not true of several other topologies which locally have rectangular-grid geometry. Specifically, we can use a rectangle sewn at the edge either into a closed loop or a Möbius strip to potentially escape parity restrictions. More exotically, to an extent that is not practical in the real world, sewing the rectangle on two edges could produce a torus or Klein bottle which may also have parity-breaking qualities. Prior work on embroidering onto these sewn-rectangle topologies includes Ren and Zhang’s exploration of performing hitomezashi embroidery on a torus [2].

Cross-stitch Connectivity of Grid Variants

Since the size of a cross-stitch is typically determined by the number of grid squares in each direction, rather than the number of holes in the fabric, the underlying set of holes in the fabric behind an cross-stitch design would form an grid, which could be graph-theoretically identified as a product of two paths.

Definition 1.

The box product of two graphs and , denoted , is a graph with vertex set such that is adjacent to if and only if either and , or and .

The aforementioned grid is simply , where denotes a path on vertices. It is known that the chromatic number of a box product is the maximum of the chromatic number of its parameters [3]; since both paths are bipartite, it is clear that is bipartite as well. This is significant since the stitch paths on the front of the work are then going to be in two distinct components. To illustrate this, we may consider a different graph product, the cross product, corresponding to the diagonal stitches:

Definition 2.

The cross product of two graphs and , denoted , is a graph with vertex set such that is adjacent to if and only if both and .

Single-Strand, Two-Sided Cross-Stitch

The question of whether a single length of thread can be used to reach every desirable stitch in a cross-stitch process is identical to the question of whether the cross product underlying the fabric is connected, which can be straightforwardly characterized.

Proposition 1. For two graphs and with at least two vertices each, is connected if and only if both and are connected and \chi(G \square H) > 2. If and are connected and , then has at most two components.

Proof. If is disconnected, then for any in different components of and , there is clearly no path from to in , since the projection would necessarily map such a path to a path in . Likewise, disconnection of would make disconnected; thus connectivity of and is a necessary condition for to be connected.

If is bipartite and connected, let and be the vertex sets of such a bipartition. Since is nontrivial and connected, contains at least one edge so that and are not both empty. Let and , and suppose, by way of contradiction, that there is a path in from to , whose length we denote as . Each edge of this path in can be identified with a two-edge path in : the edge from in can be identified with the path from to to in . Concatenating all these paths yields a walk of length from to in , contradicting the requirement that and are in different parts, and that all walks between them are of odd length. Thus, in order for to be connected, must be not only connected, but nonbipartite.

To prove sufficiency of the two above conditions, let us suppose and are both connected, and that ; since , we may assume without loss of generality that , or that contains an odd cycle.

Now we shall show the existence of a walk between arbitrary vertices and in . By connectivity of , there exists a path from to in , whose length we may call . Taking an arbitrary vertex in the odd cycle of , we may consider two different walks from to , in : a path from to composed with a path from to , or the same composition with a walk from to around the odd cycle performed between the two paths. These walks have lengths which differ by an odd number, and thus have different parity. We will henceforth consider whichever of these walks has length whose parity is the same parity as , and denote its length as .

Since and have the same parity, if n < m, we may append to the walk on an arbitrary number of two-step walks from to a neighbor and back again; likewise, if m > n, we could append to an arbitrary number of two-step walks from to a neighbor. Thus there are walks from to and to of equal length, and we may use them as the coordinates of vertices on a walk in .

This same argument serves to show why connected and can give rise only to at most two components in . If is bipartite with parts and is bipartite with parts , the parities of path lengths in and are fully determined by whether their endpoints are in the same or different paths. Thus, every vertex in is connected to every vertex in by a pair of even paths, and to every vertex in by a pair of odd paths, which the argument above indicates can be merged into a walk in , so the vertex-set is connected in . Likewise, is connected, and as every vertex is in one or the other set, has at most two components.

Critically, since has exactly two components, sewing together any individual points of this rectangular grid, which corresponds with merging two vertices of the graph into a single vertex, will make the resulting cross-product connected if and only if the vertices sewn together are in different components from each other.

Sewing the grid into a closed loop would correspond with merging the vertex of coordinates with the vertex of coordinates for each integer in . These two will be of distinct parities if and only

367

Wildstrom

if is odd, so a loop of odd length will be connected via cross-stitch, while a loop of even length will not.

Sewing the grid into a Möbius band, on the other hand, would correspond to merging the vertex of coordinates with the vertex of coordinates for each integer in . These two will be of distinct parities if and only if is odd, so a Möbius band of either odd length or odd width, but not both, will be connected via cross-stitch.

The more exotic shapes of a torus and a Klein bottle, both of which are extremely impractical to use as cross-stitch surfaces, could be analyzed by performing such a sewing step both along the length and width axes. It is straightforward to demonstrate that stitching an grid into either a torus or a Klein bottle will produce a connected cross-stitch graph if and only if either or is odd.

The strip topologies described above are clearly necessary in order to cross-stitch the entirety of a single-color pattern on both sides of a piece of material with a single length of thread. However, clearly strip topology is not enough: there are patterns which it is clearly impossible to cross-stitch with a single length of thread regardless of the underlying topology.

Let us represent a pattern by a subset of the grid. Note that if we stitch our working surface into a loop or Möbius band, cells in the th column will be adjacent to cells in the first column, according to either a direct or inverted correspondence. We will use to denote a square whose lower-left corner is and whose upper-right corner is ; to cross-stitch this cell on the front of the work, the path of the thread must traverse both the diagonals from to and from to after taking an even number of steps from the beginning of the work; to cross-stitch that same cell on the back, the thread must traverse both diagonals after an odd number of steps.

With this formalism, there are two necessary conditions which emerge for single-strand stitchability of a pattern.

Theorem 1.

A pattern of squares on an grid with the first and last columns of the grid asserted to be adjacent either in an orientation-preserving or orientation-reversing manner can be cross-stitched with a single strand of thread onto both sides of a loop of material or Möbius band only if:

  • The pattern is connected via (possibly diagonal) adjacency: there is a walk from any square of the pattern to any other square of the pattern, with each step being from a square within the pattern to another square orthogonally or diagonally adjacent.
  • There is a circuit within the pattern following the same adjacency rules as above which travels the entire circumference of the loop or Möbius band an odd number of times.
Proof.

Let be a pattern which can be cross-stitched with a single strand, and let be the finite sequence of diagonals used to cross-stitch both sides in full. If and are both in , then both the diagonals and appear in ; let them be and with . Then is a sequence of diagonals joining to contained within cells of , and those cells form a walk from to . Thus, and are connected via cells of .

Likewise, for any , we note that must contain both diagonals of the cell; suppose these are and with ; without loss of generality visits while visits . As above, we may associate each diagonal with its containing cells to convert the walk to a walk among adjacent cells from to itself. It was noted above that in the cross product of two paths, vertices of differing parity in the sums of their coordinates are not connected. If the path described above winds around the circumference of the work times, then considering a grid which is an -fold cover of our work, the path can be mapped to a path from to on a rectangular grid if the work is a loop, and from

Single-Strand, Two-Sided Cross-Stitch

img-2.jpeg (a) A simple pattern to cross-stitch.

img-3.jpeg

img-4.jpeg (b) A “stitch subgraph” of a component of ; the blue rectangular vertices on left and right are pairwise merged. (c) A “stitch tree” to be traversed twice. Figure 2: Conversion of a cross-stitch diagram to a tree to be traversed.

to if the work is a Möbius band. Such a path is possible only if the starting and ending coordinates have the same parity, which is the case only when is odd and when and satisfy the conditions laid out previously.

This pair of conditions is nearly self-evident: it is clearly necessary that each region to be stitched is reachable from every other, and that there be some escape from parity restrictions. Fortunately, these simple conditions turn out not only to be necessary, but to be only slightly stronger than the sufficient conditions. The proof which follows not only shows that orthogonally connected, circumference-spanning patterns can be stitched with a single thread, but describes a method for constructing such a stitch path.

Theorem 2. A pattern of squares on an grid with the first and last columns of the grid asserted to be adjacent either in an orientation-preserving or orientation-reversing manner can be cross-stitched with a single strand of thread onto both sides of a loop of material or Möbius band if all of the following hold:

  • Either the association of the first and last rows is orientation-preserving and is odd, or the association is orientation-reversing and is odd.
  • The pattern is connected via orthogonal adjacency: there is a walk from any square of the pattern to any other square of the pattern, with each step being from a square within the pattern to another square orthogonally adjacent.
  • There is a circuit within the pattern following the same adjacency rules as above which travels the entire circumference of the loop or Möbius band an odd number of times.

Proof. Note that the first condition is exactly identical to the conditions given previously for a rectangle with opposite faces stitched together to have a parity-breaking boundary which makes all vertices in the work connected via cross-stitches. A sensible way to present the work, in this context, is as one of the two components of , where denotes a cycle on vertices; for any pair of crossing stitches from to and from to , one of them will be represented by the edge between those coordinates, while the other will be shifted horizontally by units, and vertically flipped if the work is a Möbius band. Then, the stitches appearing in the pattern constitute a subset of the edges in this graph, which by the orthogonal-connectivity condition above, will be the edge-set of a connected subgraph of . A sample pattern is exhibited in Figure 2a. The subgraph induced by this pattern is shown with an entire component of shown in a lighter color in Figure 2b.

In order to work every stitch in this pattern twice (once on the back and once on the front of the work), the walk taken by a strand of thread must traverse each edge exactly twice; that is to say, the walk should be an Eulerian trail on the multigraph produced by duplicating each edge.

Wildstrom

img-5.jpeg

img-6.jpeg (a) The pattern for a test strip. (b) The “wind” side of the test object. Figure 3: Design and implementation of a single-strand cross-stitch on a Möbius band.

img-7.jpeg (c) The “mr. ug” side of the test object.

Fortunately, duplicating each edge will clearly make the degree at each vertex even, and since the graph as a whole is connected, the resulting multigraph is Eulerian, and an Eulerian trail is straightforward to construct. Unfortunately, doing so may violate a subtler condition of a cross-stitching walk: stitches alternate between front and back, and in order for two traversals of the same diagonal to be on opposite sides of the work, there must be an even number of steps between the two traversals. This condition is similar to one described by Josh Holden in his analysis of the embroidery technique known as Holbein stitch or double running stitch [1], and in fact the desired cross-stitch in this pattern will be exactly a double running stitch along each diagonal of the work. An Eulerian traverse twice over the stitch subgraph in Figure 2b may not satisfy this condition, because traversing the entirety of an even cycle in the graph would bring the thread back to the same side it was on when the first stitch was worked, rather than the opposite side.

Thus, we modify the graph slightly in such a way as to eliminate cycles: then an Eulerian traverse will descend into a subtree, perform an even number of steps to walk every edge of that subtree twice, and walk the same edge as was used to descend into the subtree on the opposite side of the work. To convert this graph into a tree with substantively the same edge set, we identify a cycle in the tree, arbitrarily choose a vertex in the cycle, and replace that vertex with two nonadjacent vertices, partitioning the incident edges among the two new vertices such that the two edges which were in the original cycle have different endpoints. This process eliminates a cycle from the graph, and repetition of this procedure can be used to eliminate all cycles from the graph. For the graph appearing in Figure 2b, this must be done three times, once within each of the two subgraphs which are clearly visible; the third remaining cycle is the one joined by the identification of the two blue-square vertices with each other, and to split this vertex it suffices to simply remove that identification. The result of this process can be seen in Figure 2c, which is a tree, and the multigraph resulting from doubling the edges up has an Eulerian walk which ensures that the two steps along each edge will be separated by an even number of steps, meaning that the thread is on different sides of the work on the two occasions a given diagonal stitch is worked.

To create a one-strand stitchable pattern, it thus suffices to ensure that all regions to be stitched are connected, and that there is a closed loop traveling once around the periphery of the work. An example of such a pattern, created in tribute to Vi Hart’s video “Wind and Mr. Ug”, appears in Figure 3a, and two different views of the finished object can be seen in Figures 3b and 3c. Note that the red border cannot be worked in full cross-stitches with a single strand: it traverses the Möbius band twice rather than once.

Single-Strand, Two-Sided Cross-Stitch

img-8.jpeg (a) Patterns with single-parity diagonal adjacency.

img-9.jpeg Figure 4: Patterns with diagonal adjacency, with distinct components of the pattern in differing colors.

img-10.jpeg (b) A fully traversible pattern. (c) Pattern with two components.

The two previous results are a near-complete characterization of one-strand stitchable patterns made up of full stitches; the gap between the sufficient and necessary condition is simply the adjacency condition, which for necessity includes diagonal adjacency and for sufficiency does not. To close this gap, we explore the conditions in which diagonal connection between groups of orthogonally connected cells in the pattern can be successfully reached and traversed.

A diagonal adjacency between two cells is characterized by the vertex the two cells share, and if the loop is cut open into a rectangle and coordinatized, vertices have an intrinsic parity such that traversing from one vertex to another of opposite parity can only be done by crossing the cut line. With this in mind, one crucial observation can be made about the extent to which cross-stitch can be worked across a diagonal adjacency.

Theorem 3. In order for a maximal set of orthogonally adjacent cells in a pattern to be stitchable with a single strand, at least one of the two following facts must be true:

  • must itself contain a circuit of orthogonally adjacent cells which travels the entire circumference of the loop or Möbius band.
  • If the band is unrolled to give vertices intrinsic parity along a cut not touching , then must touch in at least one vertex with each of the two parities.

Proof. Examples of the forbidden behavior, in which the vertices where touches have only a single parity, can be seen in Figure 4a, with the two disconnected components appearing in black and red. These examples essentially constitute the entirety of the proof: if does not satisfy the first condition given, there is no walk within the component which visits vertices of distinct parity. Since only vertices of one parity have neighbors outside of , no walk connects vertices of the other parity within to vertices outside of .

Moving beyond this simple failure of diagonal adjacency, it is difficult to exactly determine what sorts of diagonal adjacency permit a full traversal with a single stand. It appears that if at least one orthogonal component is itself stitchable with a single strand and every other component is adjacent to it diagonally at two vertices of opposite parities, that is sufficient. However, situations in which no single orthogonal-adjacency component is stitchable with a single strand are more complicated. The two quite similar patterns in Figures 4b and 4c illustrate this difficulty. Both patterns consist of several orthogonal-adjacency components each of which is diagonally adjacent to some other at two points of opposite parities, and which collectively travel the circumference although no individual component itself travels the full circumference. However, only Figure 4b is a pattern which can be stitched with a single strand; Figure 4c has two disconnected components.

Practical Considerations

Despite the aesthetic elegance of having a product almost entirely free of visual detractions from the design on either the front or the back, the cross-stitch method described here is an art form with extraordinary practical shortcomings. The working length of a thread in cross-stitch is a matter of variation for individual artists’ tastes, but typically range from 20 to 50 centimeters. Threads longer than are at risk of tangling, and

pulling the entire working thread through the fabric with each stitch is tedious and can potentially cause wear to the fabric if the working thread is too long. In particular, a working thread longer than the artist’s arm-span slows down the work because the artist cannot simply pull a stitch tight by pulling the needle itself away from the work. The one-strand method described here requires that all thread to be used is in a single working length, which is a significant practical deterrence to trying to make any design with more than approximately 50 stitches in it using this approach, as it will demand long and difficult-to-use working lengths.

Another difficulty, and one which has significant aesthetic consequences even for an artist willing to tolerate long working lengths, is that this technique does not produce what is typically regarded as the correct texture for cross-stitch. Conventionally, the two crossing stitches are laid out such that the order in which the diagonals are worked is consistent; for instance, the paths shown in Figure 1 consistently work the lower-left-to-upper-right diagonal first, and then the upper-left-to-lower-right diagonal. The order matters because the strand which is on top can often be seen by close inspection, and a work in which the top strand is not consistent throughout will not have an even texture. Unfortunately, the process described in this paper works strands in a rather chaotic fashion, with different diagonals on differing sides of the work done opportunistically in a way which will show a very inconsistent texture. This can be fixed with a conscious effort on the part of the artist, but a quite complicated effort: on any grid square where the “wrong” stitch has been laid down first, the artist, when working the second stitch in that grid, has to pass the working strand (which, as mentioned above, might be very long) under the previously worked stitch to get the right texture.

Surprisingly, neither the Möbius-band nor the simple loop joining are intrinsically problematic for giving each square the same texture. The loop is straightforward in allowing consistent texture throughout, although what it would mean for the two faces of the loop to have the same texture is semantically unclear. The Möbius band seems as if it would have textural issues caused by the twist, but since the twist not only reverses the handedness of the work but also links the two distinct faces to each other, the texture can continue seamlessly from the front to be reversed on the back, and then reversed back on the second pass through the twist to join consistently with the original front texture.

Further Work

It seems that it would be possible to work two significantly different patterns on the front and back of a piece using two-sided cross-stitch, but the rules governing which pairs of patterns would work for this process would be very complicated. Several straightforward necessary conditions hold on these patterns: the front and back must contain an equal number of cells; each cell on the front be adjacent (diagonally or orthogonally) to a cell on the back and vice versa; likewise it is necessary that the front and back, taken together, are diagonally connected and form a parity-breaking loop. Beyond these three straightforward necessities, however, it is not clear when a pair of front-and-back patterns would be cross-stitchable, and designing a work with an interesting and enjoyable pattern which is different on both sides (and, in the case of a Möbius band, seamlessly transitioned between the two) is an ambitious extension of the ideas in this work.

References

  • [1] J. Holden. “The Graph Theory of Blackwork Embroidery.” In Making Mathematics with Needlework: Ten Papers and Ten Projects, edited by s. belcastro and C. Yackel, AK Peters, 2007.
  • [2] Q. Ren and S. Zhang. “Toroidal Hitomezashi Patterns.” Discrete Mathematics, vol. 348, no. 1, 2025, https://www.sciencedirect.com/science/article/pii/S0012365X24003625.
  • [3] G. Sabidussi. “Graphs with Given Group and Given Graph-Theoretical Properties.” Canadian Journal of Mathematics, vol. 9, 1957, p. 515–525.

0 items under this folder.