Dhanya-Abhirami / Kolam

Generates beautiful Kolam Pattern using L-Systems

Home Page:https://dhanya-abhirami.github.io/Kolam/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License: GPL v3

Kolam ⌘

Kolam is a class of patterns drawn using lines, curves and dots. Made of rice flour or chalk, Kolams are a welcome sight in the courtyards of homes in South India.

Lo Behold!

alt tag

L-System

An L-system or Lindenmayer system is a parallel rewriting system and a type of formal grammar. An L-system consists of an alphabet of symbols that can be used to make strings, a collection of production rules that expand each symbol into some larger string of symbols, an initial "axiom" string from which to begin construction, and a mechanism for translating the generated strings into geometric structures. L-systems differ from Chomsky grammars in that all variables are replaced in each step, and not just one. For example

Axiom (Initial State): G G
Production Rule: G -> g G G f
First Derivation: g G G f g G G f
Second Derivation: g g G G f g G G f f g g G G f g G G f f

L-System Application

Variables: F,A,B 
Axiom: FBFBFBFB
Rules:
 A->AFBFA 
 B->AFBFBFBFA 

Where,

SymbolMeaning
F Move forward 20 units
ADraw an arc of radius 20 units upto 90 degrees
B Calculate forward units l = 10/sqrt (2)
Move forward l Units
Draw an arc of radius l units upto 270 degrees
Forward l Units

References

Wikipedia
Graphical modeling
Research Paper 1
Research Paper 2
Example 1
Example 2
Example 3

Lightning Talk

This project was presented at PySangamam 2018

Support Me!

  • If you ❤️ my project, please give it a ⭐ .
  • Feel free to give me more grammars for Kolam generation

About

Generates beautiful Kolam Pattern using L-Systems

https://dhanya-abhirami.github.io/Kolam/

License:GNU General Public License v3.0


Languages

Language:JavaScript 83.1%Language:HTML 15.1%Language:CSS 1.8%