A Foray Into Computer-Assisted Quilting

Year: 2023 Authors: Matt Zucker

Core claim

Computer-assisted paper piecing let a quilting novice fabricate complex tessellation quilts with seams not limited to 90° or 45° angles.

Topics

computer-assisted quilting, geometric tessellations, paper piecing, Penrose tiling, fabrication workflow

Domains

plane tessellations, aperiodic tilings, Cayley tables, recursive subdivision, quilting, textile design, pattern composition, craft fabrication

Methods

custom software, template generation, recursive subdivision, paper piecing, assembly planning

Media

fabric, paper templates, batting, backing, machine sewing

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 2023 Conference Proceedings

A Foray Into Computer-Assisted Quilting

Matt Zucker

Swarthmore College, Swarthmore, PA USA; mzucker1@swarthmore.edu

Abstract

This paper describes computer programs I wrote to assist with the design and fabrication of two quilts based on geometric tessellations of the plane. Aside from creating and refining the overall compositions, the programs also produced printable templates for paper piecing, and in one case, created a detailed assembly plan. The software enabled me, as a newcomer to quilting, to successfully fabricate designs based on complex tilings with seams that are not constrained to meet at or angles.

Introduction

Quilting is an excellent medium to explore the beauty of geometric tilings and visualize abstract mathematical structures such as Cayley tables [15][11]. However, patterns where edges meet at angles that are not or can cause difficulties for novice quilters due to both material properties of fabric and the challenge of sewing into corners. These can be mitigated using paper piecing techniques involving printed templates that are amenable to computer generation. I have completed two quilts, shown in Figure 1 and Figure 2, with the help of custom software I wrote to compose their designs, output printable templates, and in one case, create a detailed plan for assembly. The remainder of this section briefly describes quilting and its challenges, as well as the two main types of paper piecing. Subsequent sections detail aspects of both projects as case studies in computer-assisted quilting, and provide some conclusory observations and ideas for future works.

img-0.jpeg Figure 1: Pentagonal tiling pillowcase, sized ( ).

Zucker

img-1.jpeg Figure 2: Penrose tiling quilt, sized (122 cm × 122 cm).

Quilting fundamentals and challenges

The practice of quilting typically involves four steps: 1) Piecing. Tiles of various fabrics are cut and sewn together to form the main design on the front of the quilt. 2) Basting. A sandwich consisting of a front, a layer of batting, and a backing is temporarily secured, e.g. with pins or glue. 3) Quilting. Seams are sewn through the sandwich to permanently join the layers and to provide the quilt’s distinctive pillowy appearance. 4) Binding. The quilt is trimmed and finished with a narrow band of fabric sewn around its edges.

The most difficult step of quilting is the piecing phase, during which the tessellation is fabricated. Since fabric frays along cut edges, quilters must leave a seam allowance, typically (5-13 mm), around the border of each tile. Seam allowances must be folded to the back side of the fabric after sewing, hence sewing polygons with reflex corners (i.e. angles greater than ) is not generally feasible. Handling seams that do not meet at or angles requires special care because fabric tends to stretch, shear, and pinch along seams not aligned to the weave of the material. To mitigate this, quilters can use two well-known techniques involving paper templates to effectively control for precision and alignment when working with non-axis-aligned patterns.

Paper piecing

Foundation paper piecing (FPP) involves creating blocks which are comprised by multiple pieces of fabric, all affixed onto a single paper template [2]. Although ordinary printer paper can suffice, specialized foundation paper adds flexibility and releases from fabric with less residue. Quilters begin an FPP block by gluing or pinning the back side of the first piece of fabric onto the unprinted side of a paper template. Then, the next

A Foray Into Computer-Assisted Quilting

img-2.jpeg Figure 3: FPP fabrication of Penrose tiles, top: (a) half-kite template; (b) using a light table to place fabric; (c) completed half-dart blocks; (d) blocks joined into larger half-kites and half-darts. EPP fabrication of pentagonal tiling, bottom: (e) individual tiles, front and rear; (f) first three rows hand-sewn together; (g) finished center; (h) detail view with faintly visible stitches.

piece of fabric is placed on the first piece, front sides facing together, and a seam is machine-sewn through the paper, precisely following a single straight guideline on the template. Seam allowances on both sides of the new seam are trimmed and the new piece of fabric is affixed to the paper. The process is repeated for each additional piece of fabric, and finally the block is trimmed, accounting for seam allowances around its border. Once the blocks are all completed, they are pinned and sewn together using printed guidelines. Throughout the process, the paper stabilizes the work in progress, combating the fabric’s natural tendency to deform, and allowing designs of considerable complexity to be fabricated with precision. In fact, multiple researchers have recently developed software to automatically produce FPP designs from arbitrary line drawings [10][1].

Like FPP, English Paper Piecing (EPP) also uses paper templates to guide sewing and to stabilize the work in progress. Quilters have used EPP to create designs based on non-square lattices for centuries, with at least one hexagonal grid design dating back to 1770s England [7]. Whereas in FPP, multiple pieces of fabric are affixed to a single paper template, in EPP, each piece of fabric is glued onto its own individual paper template, with the seam allowances folded over the edges and secured with glue. Next, the quilter sews the pieces together by hand, being careful to keep the stitches small and to conceal them along the very edges between pieces. To facilitate sewing tiles edge-to-edge, EPP templates are usually made out of stiffer paper such as card stock. Although FPP may seem more appealing due to its compatibility with machine sewing, many patterns—including simple hexagonal grids—lend themselves better to EPP, so the choice of which one to use depends on both the composition and the preferences of the quilter. With both techniques, the paper templates are detached and discarded at the end of the piecing phase and before basting. The general fabrication process for both techniques is illustrated in Figure 3.

Project I: Penrose Tiling Quilt

When considering my first project, the idea of quilting Penrose’s aperiodic “kite and dart” tiling, also known as the P2 Penrose Tiling [5], proved irresistible. Since the dart shape is non-convex, I decided that my composition would split each tile down the center line so that it could be constructed using convex pattern elements, with the added benefit of rendering kites and darts using pairs of complimentary colors to provide visual depth. After some initial experiments with prototyping, I decided on a set of constraints to guide my

Zucker

img-3.jpeg

img-4.jpeg

img-5.jpeg Figure 4: Composing the Penrose tiling quilt via recursive subdivision: (a) an initial half-kite; (b-d) first three rounds of subdivision; (e) after eight rounds total, highlighting the final composition.

img-6.jpeg

img-7.jpeg

design, which were: the quilt pattern should be machine-sewable; the composition should have no single clear focal point and no clear lines of symmetry; and, the kite and dart shapes of the P2 tiling should be outlined using strongly contrasting fabrics to emphasize their shapes.

To create the composition, I wrote a program in the Rust programming language, using the nalgobra library for linear algebraic and geometric computation [3], and the Cairo library for graphical output [14]. The program exploits the recursive subdivision method for generating the P2 tiling, in which half-tiles are repeatedly subdivided into half-tiles at a smaller scale. The user of the program chooses the desired number of levels of subdivision, and places a rectangle that outlines the boundary of the composition featured on the quilt and establishes the concrete measurements of each tile. See Figure 4 for a visualization of the composition process. The final design features half-tiles with a long edge length of (19.7 cm) and a short edge length of (12.2 cm). The center panel of the quilt is a square with sides of (107 cm) and the finished quilt with border and binding has edges that are (122 cm) long.

The outlines of the kites and darts are established using FPP. Each block corresponds to a single half-kite or half-dart and includes half-width outlines along its two outer edges. The program output produces printable FPP templates, as shown in Figure 3. They feature several types of guidelines to indicate where to place rough-cut pieces of fabric, where to sew the interior and boundary seams, and where to trim the block, respecting seam allowances. Determining the coordinates of the various guidelines requires some linear algebraic and geometric computation in order to find the intersections of the half-width outline edges with the half-tiles, and also in order to offset each fabric shape by a generous rough-cut allowance.

Assembly planning

One notable aspect of the program is that it creates a two-stage plan to guide the complex task of assembling the FPP blocks into the desired composition. For the first stage, the program defines a module as a half-tile shape at some level of subdivision. Level 1 modules are FPP blocks at the smallest scale of subdivision, level 2 modules are assemblies of level 1 modules, and so on. Each module is designated A, B, C, or D to indicate whether it is the left or right half of a kite or a dart, and additionally bears a level number. For example, A3 indicates the right half of a kite at level 3. For each type and size, the program enumerates the number of modules the quilter must fabricate.

Next, the program identifies the locations of seams along which modules must be joined, and the order in which they should be sewn. This second part of the assembly plan is generated by building a seam tree whose leaves correspond to individual modules. Each non-leaf node in the tree corresponds to an assembly of two or more child nodes, as well as the straight seam along which they are joined. The program uses a greedy algorithm to find the longest straight seam that subdivides an assembly of modules. The root node of the

A Foray Into Computer-Assisted Quilting

img-8.jpeg Figure 5: Rear view of design. Left: auto-generated assembly plan showing half-tile modules at various scales, with ordered seams. Right: piecing phase before sewing final seam, numbered 35 at left.

img-9.jpeg

tree corresponds to the entire composition, and the rest of the tree is built by recursively subdividing it until only leaf nodes remain. Then, the seams are numbered by traversing the tree, with the longest (root) seam numbered last. This construction allows the quilter to join together all of the modules along machine-sewn straight seams of increasing lengths, and enables the work in progress to always lie flat throughout assembly.

Project II: Pentagonal Tiling Pillowcase

Kaplan has produced several notable works based on parquet deformations [9]. He describes them as “a kind of ‘spatial animation’ in the plane, a tiling whose tiles gradually evolve along one (or sometimes two) dimensions” [8]. Kaplan’s work inspired me to create an interactive graphics shader, shown in Figure 6, which implements a parquet deformation of the Cairo pentagonal tiling [17]. The shader became the basis for the design of a quilted pillowcase for a pillow.

The standard form of the Cairo pentagonal tiling involves non-regular pentagons with three angles and two right angles. The unit cell (also known as fundamental domain) of this tiling is a square partially containing three pentagons whose edges all meet at a single interior point, as shown in Figure 7. It repeats over a square lattice in which every neighborhood contains four rotated copies of the unit cell. Three of each pentagon’s five vertices are instances of the interior point; the other two pentagon vertices lie on opposite diagonal corners of the square lattice. The remaining diagonal corners of the square lattice lie at the midpoints of pentagonal tile edges. The Cairo tiling can be integrated into a parquet deformation by modifying the position of the interior vertex within each unit cell as a function of the position of that cell on the plane. To avoid generating non-convex pentagons, it is important to avoid moving the interior vertex across the main diagonal of the unit cell, or outside of its boundaries.

To compose the design for the quilt, I wrote a program in Python using the numpy library [6] for numerical computation, and the Cairo library [14] for graphical output. The program uses Sympy [12] to analytically solve for three configurations of the interior vertex position: the classical Cairo pentagon with three and two angles, and two alternative polygons containing two and three angles. These three vertex positions lie along a circular locus in the unit cell, and the parquet deformation interpolates along that circular locus over the left-to-right axis of the composition.

Like the shader that preceded it, the color scheme for the quilt uses four different colors that meet at each

Zucker

img-10.jpeg Figure 6: Left: screen capture from original interactive graphics shader [17]. Right: Overview map of pillowcase design generated by Python program, with tiles labeled by type and address.

img-11.jpeg

degree-four vertex. The colors correspond to the labels A, B, C, and D in the printed output of the Python program. The program also gives each tile a row, column numeric address to quickly determine tile location and adjacency, as shown in Figure 6. “Rows” actually run diagonally through the piece, with odd-numbered rows containing the blue A tiles and light green B tiles, and even-numbered rows containing the yellow C tiles and dark green D tiles. The luminance of each tile color was chosen to give the overall composition a faux-3D appearance with a warm yellow “highlight” and a cool blue “shadow.”

The program also creates several pages of output containing labeled outlines of each approximately (32 mm) tile, to be individually cut and used as templates for English Paper Piecing. The templates were printed onto printer-compatible card stock of the type commonly available at office supply stores, and carefully cut out by hand with scissors. Fabric was glued to the unlabeled side of each template, and seam allowances were trimmed to using an “add a quarter” ruler, then glued down to the labeled sides.

In contrast with the Penrose tiling quilt, assembly planning for the quilted pillowcase was much more straightforward. Hand-sewing proceeded by first assembling each row, and then joining the assembled rows together into a finished quilt center, as shown in Figure 3. As with the Penrose tiling project, the templates helped stabilize the quilt in progress and ensure precise alignment between shapes in the tessellation.

Conclusions and Future Work

The software I wrote greatly facilitated the fabrication process in both of these projects. Despite being my first two quilts, the results exceeded my expectations. Prior to these, I had very limited experience on the sewing machine, gained from sewing cloth masks to prevent spread of COVID-19. The projects themselves had widely disparate completion times. The Penrose quilt took about four months from my first experiments and prototypes to the finished product. Much of that time was spent familiarizing myself with the medium and making a succession of test pieces and prototypes. It took a few failures and the advice of a more experienced quilter to realize that I needed to use paper piecing to get the accuracy and stabilization I needed for the Penrose quilt, especially the tricky vertices where 10 triangles with angles meet at a single point. YouTube was an indispensable resource for learning how to paper piece, as well as the other steps of basting, quilting, and binding. In contrast, the pillowcase went much more quickly, requiring only two weeks from start to finish. The pillowcase design demanded less precision than the Penrose quilt because all vertices are either degree three or four—fewer edges meeting at a point tends to be easier, in general. And although I did need to learn the skills underlying EPP fabrication, I was able to lean on many of the other skills I picked

A Foray Into Computer-Assisted Quilting

up during the first project. Both pieces are quilted simply using straight seams, along the centers of the dark purple outlines in the Penrose quilt, and along a square grid passing through the centers of the degree-four vertices in the pillowcase. I hope to explore more free-form or curvilinear quilting patterns in future works.

Although the programs that facilitated the fabrication of these quilts are written in different languages and use different approaches to generate the underlying compositions, there are several commonalities worth pointing out. The first is that the ability to visualize and iterate on a design before beginning to cut and sew is priceless. Any software capable of producing mathematical visualizations—from Mathematica to Excel—can be useful for quilters interested in mathematical art; however, for producing paper piecing templates, the ability to generate output at an exact size is critical. One other useful aspect of bespoke quilting software is that it can accurately estimate how much fabric to purchase because the number and area of polygons of each type of fabric is straightforward to compute. For both quilts, I found it useful to sum up the polygon areas (after offsetting by seam tolerances) and apply a 1.5 to safety factor to estimate fabric quantities.

Determining color palettes is always challenging. For both of these projects, I took inspiration from the perceptually uniform colormaps developed by Smith et al. which are now available in many open-source plotting software packages [13]. The Penrose tiling quilt is based on their “plasma” colormap, and the pentagonal tiling pillowcase is based on “viridis.” Using premade colormaps is an excellent way to offload some creative deliberation, with the caveat that photos of fabric displayed on the website of online vendors are not color-accurate, so buying fabric in person is preferred.

I am excited to continue my experiments with computer-assisted quilting in future projects. I remain fascinated by the possibilities of parquet deformations, and I am particularly interested in assessing the feasibility of laser-cut EPP templates. I also foresee several pedagogical applications of computer-assisted quilting. Students could learn about different types of tiling and symmetries by sewing with preprinted templates and following directions from an instructor familiar with quilting. Furthermore, since many designs can be composed with only modest computational complexity, this type of activity could be an excellent way to teach introductory programming. Some programming courses already include a “sampler quilt” assignment where novices are instructed how to use simple graphics primitives to compose a design in software [16][4]. A computer-aided quilting course would build on this idea by pushing further into more interesting symmetries, and by requiring students to physically fabricate the designs output by their programs. Combining introductory programming with textile arts would ground abstract computation in the physical world, and might serve to attract a broader range of students into the world of mathematical programming by juxtaposing coding with a craft that is historically associated with non-masculine gender roles.

img-12.jpeg Figure 7: Construction of three related tilings. Dotted lines outline individual pentagons. Unit cells are squares, colored by rotation. Moving the red interior vertex along the arc shown in the insets changes the tile shape from (a) to the classic Cairo pentagonal tiling (b), and finally to (c).

img-13.jpeg

img-14.jpeg

References

  • [1] A. Bakker and T. Verhoeff. “Algorithms to Construct Designs for Foundation Paper Piecing of Quilt Patchwork Layers.” Proceedings of Bridges 2022: Mathematics, Art, Music, Architecture, Culture. D. Reimann, D. Norton, and E. Torrence, Eds. Phoenix, Arizona: Tessellations Publishing, 2022. pp. 347–350. http://archive.bridgesmathart.org/2022/bridges2022-347.html.
  • [2] B. Barber, C. Doak, C. England, C. B. Fallert, L. Graves, L.-C. Greenberg, J. Hall, D. Haywood, P. Martin, J. Mathieson, R. B. McDowell, A. Grossman-Solomon, and E. S. B. Vlack. The Experts’ Guide to Foundation Piecing. C & T Publishing, 2006.
  • [3] Dimforge. Nalgebra linear algebra library. https://nalgebra.org/.
  • [4] D. R. Fowler. VSFX 160 - Quilting in Python. 2013. https://www.deborahrfowler.com/ClassHandouts/VSFX160-Quilt.html.
  • [5] M. Gardner. Penrose tiles to trapdoor ciphers: And the return of Dr Matrix. Cambridge University Press, 1997.
  • [6] C. R. Harris, K. J. Millman, S. J. van der Walt, R. Gommers, P. Virtanen, D. Cournapeau, E. Wieser, J. Taylor, S. Berg, N. J. Smith, R. Kern, M. Picus, S. Hoyer, M. H. van Kerkwijk, M. Brett, A. Haldane, J. F. del Río, M. Wiebe, P. Peterson, P. Gérard-Marchant, K. Sheppard, T. Reddy, W. Weckesser, H. Abbasi, C. Gohlke, and T. E. Oliphant. “Array programming with NumPy.” Nature, vol. 585, no. 7825, Sep. 2020, pp. 357–362. https://doi.org/10.1038/s41586-020-2649-2.
  • [7] Illinois State Museum Society. Keeping Us in Stitches: Quilts and Quilters: Pieced Quilts: Hexagon. 2000. https://www.museum.state.il.us/muslink/art/htmls/ks_piece_hex.html.
  • [8] C. S. Kaplan. “Curve Evolution Schemes for Parquet Deformations.” Proceedings of Bridges 2010: Mathematics, Music, Art, Architecture, Culture. G. W. Hart and R. Sarhangi, Eds. Phoenix, Arizona: Tessellations Publishing, 2010. pp. 95–102. http://archive.bridgesmathart.org/2010/bridges2010-95.html.
  • [9] C. S. Kaplan. “The tiles, they are a-changin’.” Space Tessellations: Experimenting with Parquet Deformations. W. Van Hoeydonck, C. Kern, and E. Sommeregger, Eds. Birkhauser, 2022. pp. 109–126.
  • [10] M. Leake, G. Bernstein, A. Davis, and M. Agrawala. “A mathematical foundation for foundation paper pieceable quilts.” ACM Trans. Graph., vol. 40, no. 4, 2021, pp. 65–1.
  • [11] R. LeComte. Award-Winning Quilt Presents Learning Opportunities for Math Students Who Are Sew Sew Good. Department of Mathematics, University of Kentucky. 2022. https://math.as.uky.edu/award-winning-math-quilt-presents-learning-opportunities-math-students-are-sew-sew-good.
  • [12] A. Meurer, C. P. Smith, M. Paprocki, O. Čertík, S. B. Kirpichev, M. Rocklin, A. Kumar, S. Ivanov, J. K. Moore, S. Singh, T. Rathnayake, S. Vig, B. E. Granger, R. P. Muller, F. Bonazzi, H. Gupta, S. Vats, F. Johansson, F. Pedregosa, M. J. Curry, A. R. Terrel, v. Roučka, A. Saboo, I. Fernando, S. Kulal, R. Cimrman, and A. Scopatz. “SymPy: symbolic computing in Python.” PeerJ Computer Science, vol. 3, Jan. 2017, p. e103. https://doi.org/10.7717/peerj-cs.103.
  • [13] N. J. Smith, S. van der Walt, and E. Firing. Mpl colormaps. https://bids.github.io/colormap/.
  • [14] The Cairo developers. Cairo 2d graphics library. https://www.cairographics.org/.
  • [15] M. C. Williams. “Quilts Inspired by Mathematics.” Meeting Alhambra, ISAMA-BRIDGES Conference Proceedings. J. Barrallo, N. Friedman, J. A. Maldonado, J. Martínez-Aroza, R. Sarhangi, and C. Séquin, Eds. Granada, Spain: University of Granada, 2003. pp. 393–400. http://archive.bridgesmathart.org/2003/bridges2003-393.html.
  • [16] J. Zelenski. The Sampler Quilt assignment. 2001. https://cs.stanford.edu/~zelenski/quilt/.
  • [17] M. Zucker. Pentagonal tiling variations. October 2021. https://www.shadertoy.com/view/fs3SWj.

0 items under this folder.