Skip to main content
SearchLoginLogin or Signup

Kambi Kolam as Algorithmic Pattern

An attempt to combine computational and human-centered approaches to Kambi Kolams using the N-line drawing method and a graph structure algorithm.

Published onNov 27, 2023
Kambi Kolam as Algorithmic Pattern


Kolam is a heritage folk art from Tamil Nadu. These are hand-drawn patterns made on a grid of dots (pulli) and are passed down through generations of Tamil women. The Kolam tradition is millennia old, diffused between regions (termed Rangoli in the North, Muggu in Telugu-speaking regions), continually evolving, and connected to ritual, aesthetics, and religion.

Two Tamil women in colourful sarees are bending and pointing at a freshly drawn Kolam on a road.
Figure 1

South-Indian women in conversation about a freshly drawn Kolam on the street. (Image source: Flickr Public domain)

The patterns have cyclical, symmetrical, and geometric components and are said to invoke good luck and auspiciousness. Kolams are drawn before sunrise, using rice or chalk powder in front of the main door or gate of homes. These patterns act as threshold devices, separating inside from outside, private from public, and home from the world [1]. Kolams wash away naturally by wind or rain, and a fresh one is drawn every morning.

Figure 2

Traditional Kolams are drawn before a gate (Image source: Flickr Public domain).

I remember my grandmother waking up in the wee hours every morning to draw Kolams, tiptoeing her way to the door, trying not to wake the rest of the family. Part by memory, part by improvisation, she would weave complex mathematical Kolams on the fly. Meanwhile, my mum, her sisters, and my female relatives kept practising notebooks and collecting magazine cutouts of their favourite Kolam patterns to copy and innovate on them.

Figure 3

A Kolam magazine published in Telugu, Tamil, Hindi, and English. Issue 9.

Figure 4

A Kolam magazine published in Telugu, Tamil, Hindi, and English. Issue 11.

Figure 5

A page from Issue 9 of the magazine titled ‘Nine Diamonds’ depicts nine Kolams in the center.

Growing up, I didn’t show interest in Kolams as it came with gendered, cultural baggage I wasn’t comfortable performing. My interest in these patterns, especially Kambi Kolam patterns (wire kolams), grew recently from computational and design perspectives. Kambi Kolams are an exciting subset of Kolams. They are drawn in a single continuous line, going around each dot once (and only once) in a dotted grid, and the line loops back to where it initially begins. These patterns can be simple yet relatively complex, with varying symmetries and fractal properties.

Figure 6

A set of 15 simple Kambi Kolams in 3 different grid combinations.

A Computational Perspective of Kolams

In the 1970s, computer scientists and mathematicians from Madras, Rani and Gift Siromoney, started inquiring into Kolams as “2-dimensional picture languages with formally definable syntactic rules” [2]. The couple applied mathematical-linguistic models of array grammars to generate a new class of pictures through simple transformations such as rotation, reflection, half-turn, and conjugation.

We regard a pattern to consist of smaller components concatenated together and the grammar rules aid in the generation of these picture languages.

— Gift Siromoney, Rani Siromoney and Kamala Krithivasan (1974)

The scientist duo investigated Kambi Kolams to demonstrate ‘cycle languages’ (e.g., rotational symmetry) alongside fractals and other naturally occurring shape-filling curves [3]. They demonstrated how these cycle languages can be represented in graph-theory form, “turtle-like” chain commands, or generated by string grammars.

Languages of cycle grammars consist of cycles (“necklaces”) of symbols i.e. cyclically ordered sequences of symbols. There are several interesting families of pictures — both natural as well as artificial — which are cycle languages. 

 — Gift Siromoney and Rani Siromoney (1986)

Figure 7

The article illustrates six different ‘moves’ involved in a Kambi Kolam.

Figure 8

The same article illustrates a family of aesthetically pleasing Kambi Kolam patterns.

In a similar acknowledgement of Kambi Kolams following a system of pattern rules, Japanese scholars Kiwamu Yanagisawa and Shojiro Nagata examine them from a morphological viewpoint [4]. They describe Kambi Kolams as knots or cycle patterns, utilising unresolved problems in knot theory to determine how many single cycle/knot patterns may exist in a given dot matrix. To solve this problem, the scholars extracted elements and rules by deconstructing Kambi Kolams they observed on the streets and Kolam books published in South India (see the paper for the rules). They use these rules to convert Kambi Kolam patterns into numbered representations (hexadecimal codes) and linear drawings.

Figure 9

An illustration of how Kambi Kolams patterns are converted into Hexadecimal numbers.

Figure 10

A breakdown of Kambi Kolams into constituent units of hexadecimal numbers ranging from 0 to F.

Figure 11

An illustration of the conversion of Kambi Kolam patterns into linear diagrams.

Whichever method, array grammars, L-systems, or Hexademical representations, scholars and computer scientists can incorporate systems of rules and grammar to create new kinds of Kolam patterns and apply them to computer graphics [5][6], biology [7], and evolutionary human sciences [8]. While it is impressive to formulate algorithms that generate infinite combinations of Kolams, how does one draw a Kambi Kolam? I’m pretty sure my grandmother didn’t have an algorithm ready at hand, but it was something she could expertly do through a combination of perception, repetition, and body movement.

Making a Kolam by Hand - A Human-Centred Perspective

Making or drawing a Kolam by hand is vastly more complicated than using an algorithm. It is a skilled activity that requires time and practice. This suggests moving away from representational models of Kolam as rule systems to how Kolams are made, which entails complex physical and perceptual activity. Terry Knight [9] argues that craft/making practices are continuous events entailing improvisations and departures from an initial plan. From this perspective, Knight and Stiny [10] shift the conversation from shape grammar to making grammar to capture the live aspects of Kolam making, aspects that cannot be captured using grammar and rules alone. The seeing and drawing rule is significant to Knight’s making grammar, i.e. line on a walk, as a way to learn the improvisational Kolam moves and gestures made by Tamil women.

Seeing rules and drawing rules come in pairs. Seeing is always followed by drawing. The idea is that the kolam maker continually looks ahead to see where the next pulli [dot] are to decide which way the line should go. 

Figure 12

Part 1 of an illustration showing the seeing and drawing technique.

Figure 13

Part 2 of an illustration showing the seeing and drawing technique.

Scholar Timothy M. Waring [11] made a similar observation about the limitation of Kolam grammar and its sequential representations. He argues that Tamil women perform a much wider variety of hand-drawn gestures in sequence to create new Kolam designs. He introduced an extended gestural lexicon for Kolam drawing that includes the well-known orthogonal and diagonal gestures and transitional and stylised ones (see paper for the lexicon).

Figure 14

Kolam patterns illustrate the extended gestural lexicon.

So far, I have presented two complementary perspectives for designing Kolams — computational and hand-crafted perspectives. Now, let’s combine them!

Kambi Kolam as Algorithmic Pattern

For months and months, I struggled to draw Kambi Kolams without any guidelines, and it took me very long to deconstruct and analyse a Kolam on my own.

Figure 15

Analysing a traditional Kambi Kolam using coloured pens.

Figure 16

An early attempt to reconstruct a Kambi Kolam based on previous analysis.

Much later, when researching Kolams, I noticed a similarity in my process and the N-line method and attempted the drawing rules suggested by Shojiro Nagata.

Rules for drawing Kambi Kolam using the N-Line method (my interpretation of Nagata’s rules):

  • Create a dot array in a pattern of the designer’s choice. 

  • Make lines (called Navigating/N-lines) between connecting dots, ensuring all dots connect (do not form loops). 

  • Make a crossing at a middle point on each N-line.

  • How to draw the line: Start from a crossing at any edge (usually at a corner), go straight at the crossing, and then turn around the dot next to the adjacent crossing or open turning. Each turning direction is alternated clockwise/anti-clockwise after the crossing.

Figure 17

How to draw a Kambi Kolam using the N-line method.

Soon, I began creating new Kambi Kolam designs. I played around with different dot grid sizes and freestyle (no grid), and eventually, I could make them in multiple variations. 

Figure 18

An attempt to explore different grid sizes using the N-line method.

Figure 19

Recreating a complex Kambi Kolam using the N-line method.

Figure 20

Fun with Kambi Kolams with no square grid structure - an interpretation of Kolams as body poses.

As I expanded the grid sizes of my Kambi Kolams (>10x10), I noticed that it became increasingly challenging to keep track of how all the N-lines were connected, and I was making many mistakes. So, in the end, I decided to delegate the task of drawing N-lines to a machine while retaining the satisfying process of drawing Kolams to myself.

I used P5.js to translate the N-line method into code using graph theory principles and a depth-first search (DFS) algorithm. I call this algorithmic generation of N-lines a Kolam blueprint or Kolam template.

I use the Kolam template to make large Kambi Kolams like the image below.

Figure 21

30x30 Kambi Kolam drawn on over a Kolam template using the N-line method

Kolam Drawing Pilot Workshop

With some help, I converted the P5.js code into C++ for Arduino so that I could print out the Kolam templates on a tiny receipt printer. Each button press generates a new 5x5 grid Kolam template.

Figure 22

A hacky 3D printed case for a receipt printer programmed to generate 5x5 Kolam templates.

I tested the 5x5 printed Kolam templates and N-line method in a pilot workshop with my camp village mates during the Chaos Communication Camp 2023. Once the workshop participants got the hang of the N-line method, they really enjoyed the process. “Wheeeeee”, went one of the participants as they drew a looping continuous line passing over many dots. 

Figure 23

I conducted a mini workshop at the CCCamp2023 to learn how to use the N-line method for making Kambi Kolams.

The workshop convinced me that this N-line Kolam technique is transferable. Based on the lessons learned, I hope to conduct a public-facing workshop for the upcoming Algorithmic Pattern residency.

Kambi Kolam as Interlaced Knot Patterns — Residency Project

During this process, I kept returning to the knotted approach by Japanese scholars Yanagisawa and Nagata. I was intrigued by how they see Kolams not as two-dimensional patterns to be broken down into component building blocks but as 3D woven knot structures created by the interaction of different curves or agents.

Figure 24

Wolfram Demonstration Project by Shojiro Nagata

This inspired me to imagine Kolams as interlaced patterns, where it's not simply a continuous line drawn flat on a surface. Instead, I imagine the Kolam to have certain ‘over-under’ passes that must be made correctly for the interlacing to happen, similar to a laced herringbone stitch. 

Figure 25

A diagram showing how a herringbone stitch works (Image source)

Figure 26

Demonstrating how the lacing goes over and under herringbone stitches (Image source).

Taking the herringbone foundation as an example for lacing patterns, I attempted to find a similar foundation for Kolams in cross-stitch. I wanted to see if the star pattern could be a suitable foundation for lacing Kolams. 

Figure 27

Planning for interlacing a 3x3 Kambi Kolam using a star stitch Sashiko foundation over Aida cloth.

Figure 28

I made the star stitch grid using DMC thread over Aida cloth.

I started looking around for different stitching techniques incorporating star patterns. I landed on Sashiko, a Japanese stitch art, as a possible foundation stitch. I previously experimented with Sashiko to reinforce some garments and accessories but have never attempted weaving Kolam through Sashiko stitches. 

Figure 29

This is my proof-of-concept for interlacing a 3x3 Kambi Kolam over a grid of star stitches.

My plan for the residency is to combine an algorithmically generated Kambi Kolam with a Sashiko foundation — thereby giving Kambi Kolam an aesthetic purpose in the textile space. I hope it will inspire me to play with other technology, including sensors and e-textiles. Linking these outcomes back to a cultural understanding of Kolam as a boundary-making practice is something I hope to accomplish during the residency.

No comments here
Why not start the discussion?