Applied Metaphors: Learning TRIZ, Complexity, Data/Stats/ML using Metaphors
  1. Teaching
  2. Math Models for Creative Coders
  3. Geometry
  4. Kolams and Lusona
  • Teaching
    • Data Analytics for Managers and Creators
      • Tools
        • Introduction to R and RStudio
        • Introduction to Radiant
        • Introduction to Orange
      • Descriptive Analytics
        • Data
        • Summaries
        • Counts
        • Quantities
        • Groups
        • Densities
        • Groups and Densities
        • Change
        • Proportions
        • Parts of a Whole
        • Evolution and Flow
        • Ratings and Rankings
        • Surveys
        • Time
        • Space
        • Networks
        • Experiments
        • Miscellaneous Graphing Tools, and References
      • Statistical Inference
        • 🧭 Basics of Statistical Inference
        • 🎲 Samples, Populations, Statistics and Inference
        • Basics of Randomization Tests
        • 🃏 Inference for a Single Mean
        • 🃏 Inference for Two Independent Means
        • 🃏 Inference for Comparing Two Paired Means
        • Comparing Multiple Means with ANOVA
        • Inference for Correlation
        • 🃏 Testing a Single Proportion
        • 🃏 Inference Test for Two Proportions
      • Inferential Modelling
        • Modelling with Linear Regression
        • Modelling with Logistic Regression
        • 🕔 Modelling and Predicting Time Series
      • Predictive Modelling
        • 🐉 Intro to Orange
        • ML - Regression
        • ML - Classification
        • ML - Clustering
      • Prescriptive Modelling
        • 📐 Intro to Linear Programming
        • 💭 The Simplex Method - Intuitively
        • 📅 The Simplex Method - In Excel
      • Workflow
        • Facing the Abyss
        • I Publish, therefore I Am
      • Case Studies
        • Demo:Product Packaging and Elderly People
        • Ikea Furniture
        • Movie Profits
        • Gender at the Work Place
        • Heptathlon
        • School Scores
        • Children's Games
        • Valentine’s Day Spending
        • Women Live Longer?
        • Hearing Loss in Children
        • California Transit Payments
        • Seaweed Nutrients
        • Coffee Flavours
        • Legionnaire’s Disease in the USA
        • Antarctic Sea ice
        • William Farr's Observations on Cholera in London
    • R for Artists and Managers
      • 🕶 Lab-1: Science, Human Experience, Experiments, and Data
      • Lab-2: Down the R-abbit Hole…
      • Lab-3: Drink Me!
      • Lab-4: I say what I mean and I mean what I say
      • Lab-5: Twas brillig, and the slithy toves…
      • Lab-6: These Roses have been Painted !!
      • Lab-7: The Lobster Quadrille
      • Lab-8: Did you ever see such a thing as a drawing of a muchness?
      • Lab-9: If you please sir…which way to the Secret Garden?
      • Lab-10: An Invitation from the Queen…to play Croquet
      • Lab-11: The Queen of Hearts, She Made some Tarts
      • Lab-12: Time is a Him!!
      • Iteration: Learning to purrr
      • Lab-13: Old Tortoise Taught Us
      • Lab-14: You’re are Nothing but a Pack of Cards!!
    • ML for Artists and Managers
      • 🐉 Intro to Orange
      • ML - Regression
      • ML - Classification
      • ML - Clustering
      • 🕔 Modelling Time Series
    • TRIZ for Problem Solvers
      • I am Water
      • I am What I yam
      • Birds of Different Feathers
      • I Connect therefore I am
      • I Think, Therefore I am
      • The Art of Parallel Thinking
      • A Year of Metaphoric Thinking
      • TRIZ - Problems and Contradictions
      • TRIZ - The Unreasonable Effectiveness of Available Resources
      • TRIZ - The Ideal Final Result
      • TRIZ - A Contradictory Language
      • TRIZ - The Contradiction Matrix Workflow
      • TRIZ - The Laws of Evolution
      • TRIZ - Substance Field Analysis, and ARIZ
    • Math Models for Creative Coders
      • Maths Basics
        • Vectors
        • Matrix Algebra Whirlwind Tour
        • content/courses/MathModelsDesign/Modules/05-Maths/70-MultiDimensionGeometry/index.qmd
      • Tech
        • Tools and Installation
        • Adding Libraries to p5.js
        • Using Constructor Objects in p5.js
      • Geometry
        • Circles
        • Complex Numbers
        • Fractals
        • Affine Transformation Fractals
        • L-Systems
        • Kolams and Lusona
      • Media
        • Fourier Series
        • Additive Sound Synthesis
        • Making Noise Predictably
        • The Karplus-Strong Guitar Algorithm
      • AI
        • Working with Neural Nets
        • The Perceptron
        • The Multilayer Perceptron
        • MLPs and Backpropagation
        • Gradient Descent
      • Projects
        • Projects
    • Data Science with No Code
      • Data
      • Orange
      • Summaries
      • Counts
      • Quantity
      • 🕶 Happy Data are all Alike
      • Groups
      • Change
      • Rhythm
      • Proportions
      • Flow
      • Structure
      • Ranking
      • Space
      • Time
      • Networks
      • Surveys
      • Experiments
    • Tech for Creative Education
      • 🧭 Using Idyll
      • 🧭 Using Apparatus
      • 🧭 Using g9.js
    • Literary Jukebox: In Short, the World
      • Italy - Dino Buzzati
      • France - Guy de Maupassant
      • Japan - Hisaye Yamamoto
      • Peru - Ventura Garcia Calderon
      • Russia - Maxim Gorky
      • Egypt - Alifa Rifaat
      • Brazil - Clarice Lispector
      • England - V S Pritchett
      • Russia - Ivan Bunin
      • Czechia - Milan Kundera
      • Sweden - Lars Gustaffsson
      • Canada - John Cheever
      • Ireland - William Trevor
      • USA - Raymond Carver
      • Italy - Primo Levi
      • India - Ruth Prawer Jhabvala
      • USA - Carson McCullers
      • Zimbabwe - Petina Gappah
      • India - Bharati Mukherjee
      • USA - Lucia Berlin
      • USA - Grace Paley
      • England - Angela Carter
      • USA - Kurt Vonnegut
      • Spain-Merce Rodoreda
      • Israel - Ruth Calderon
      • Israel - Etgar Keret
  • Posts
  • Blogs and Talks

On this page

  • Inspiration
  • Introduction
  • Inspiration
  • Creating Kolams
  • By Hand!
    • Method #1: Using Canonical Pieces
    • Method #2: Using Mirrors and Light
  • Kolams with Code
  • Wait, But Why?
  • References
  1. Teaching
  2. Math Models for Creative Coders
  3. Geometry
  4. Kolams and Lusona

Kolams and Lusona

Kolam
Sona
Networks
Nodes and Edges
Eulerian path
Hamiltonian Path
Published

May 2, 2024

Modified

May 17, 2025

Inspiration

Look at this fabric map of Africa:

Figure 1: Africa Fabric Map: What’s your next T-Shirt?

And look at this map of Nobel prize winners!

Figure 2: Network of Nobel Prize Winners

Would there be anything in common between these two 😮 ??!! How???!!!

Introduction

The South Indian tradition of Kolam, and the Angolan tradition of Lusona art have quite a few things in common. Both are also strongly linked to finite grammars and networks.

Inspiration

Click to generate a fresh Kolam!

Creating Kolams

How do we create these Kolam Patterns? Let us do this two ways: first pretending we are a South-Indian Woman adorning her doorstep in the morning. And then with two other methods, that lend themselves to computation / iteration. So, first by hand!

By Hand!

See if you can manually mimic some of the moves here! As an exercise, try to anchor your elbow and forearm to the table, and draw the pattern by rotating the paper! What are your observations?

Method #1: Using Canonical Pieces

What does canonical piece mean? These are pieces like the alphabet: pieces that can be repeatedly used to create a vast variety of patterns? Sounds familiar again?

Check the Polypad: https://polypad.amplify.com/p#patterns

Here we use “pieces of Kolam” that are standard: by repeated usage of combinations of these pieces, ( I believe ) any kolam can be produced. Here is a video showing kolams with a few canonical pieces:

Which are the canonical pieces here?

This is also the idea embedded in this toy called Kolam Tiles. See this YT Playlist on Kolam Tiles.

Method #2: Using Mirrors and Light

This follows the development of Paul Gerdes.

First let us get a printable grid to make our Kolams manually, since making grids can become tedious when you are making a lot of Kolams. We can use the grid to place “pulli-s” on the grid to make our Kolam. Head off to: https://editor.p5js.org/arvindv/sketches/UuHApkvqd and open it in your p5.js web-editor. Print out a few samples of the .svg grid file that is generated.

Now consider that each of your Kolam “lines” or “trajectories” is made of light. And place some single horizontal or vertical mirrors, at some locations midway between adjacent pulli-s. See the figure below:

Figure 3: Kolam with Mirrors

The black lines here are to be imagined as “made of light”. Whenever they hit a mirror, a “curved reflection” occurs. Note how the arrangement of mirrors is symmetric here. Can we take computational liberties here and make asymmetric mirror arrangements? Can the grid also be non-square? Try?

For more inspiration, see here. This is a multipage article with many different grid+mirror arrangements! There is also an intriguing technique shown therein of colouring the squares in the grid alternatively white and black, to generate very symmetric shaded patterns!

Kolams with Code

Work in (slow….) Progress!!!

  • Using p5.js
  • Using R

<iframe width=“780px” height=“600px”

Wait, But Why?

Kolams and Sona are powerful metaphors for graphs and networks. These ideas show up in a variety of situations, such as tranportation networks, supply-chain, friendship networks, tracing literary and artistic influence, and so on.

References

  1. Some kolam like patterns for inspiration. https://www.pinterest.com/gbenainous/p5js-teaching-ideas/
  2. Dr. Gift Siromoney’s webpage. https://www.cmi.ac.in/gift/Kolam.htm
  3. Mirror Designs and Mirror Curves: Comparing Kolam and Tchokwe Art. https://www.mi.sanu.ac.rs/vismath/paulus/pg1.htm
  4. YANAGISAWA, Kiwamu & Nagata, Shojiro. (2007). Fundamental Study on Design System of Kolam Pattern.https://www.researchgate.net/publication/237442288_Fundamental_Study_on_Design_System_of_Kolam_Pattern)
  5. Paulus Gerdes. Lunda Geometry: Mirror Curves, Designs, Knots, Polyominoes, Patterns, Symmetries. https://www.sahistory.org.za/sites/default/files/archive-files3/paulus_gerdes_lunda_geometry_mirror_curves_desbook4you.pdf
  6. Visual Mathematics. Mathematical Institute of the Serbian Academy of Sciences and Arts. Editor: Ljiljana Radovic. ISSN: 1821-1437. https://www.mi.sanu.ac.rs/vismath/
  7. Imaginary.Org. Frozen Light App. https://www.imaginary.org/program/frozenlight
  8. https://kolamtiles.com
  9. Anu Reddy and Alex McLean.(March 2024). Drawing Kolam Patterns in Stitches and Code. https://alpaca.pubpub.org/pub/eljjyi80/release/6
  10. https://algorithmicpattern.org
  11. Ascher, M. (2002). The Kolam Tradition: A tradition of figure-drawing in southern India expresses mathematical ideas and has attracted the attention of computer science. American Scientist, 90(1), 56+. https://link.gale.com/apps/doc/A81528419/AONE?u=anon\~274c1208&sid=googleScholar&xid=4105e718
Back to top
L-Systems
Media

License: CC BY-SA 2.0

Website made with ❤️ and Quarto, by Arvind V.

Hosted by Netlify .