Pookkalam by Gloriya Antony

Code

c1= circle(r=150, fill="#2B580C")
show(c1)
r1= rectangle(w=212,h=212,fill="#FFF600",stroke='none') | repeat(20, rotate(10))
r2= rectangle(w=207,h=207,fill="#FF005C",stroke='none') | repeat(20, rotate(10))
r3 = rectangle(w=201,h=201,fill="#ffa69e",stroke='none')| repeat(20, rotate(10))
r4 = rectangle(w=196,h=196,fill="#d81159",stroke='none')| repeat(20, rotate(10))
r5 = rectangle(w=190,h=190,fill="#291720",stroke='none')| repeat(20, rotate(10))
r6 = rectangle(w=185,h=185,fill="#26001B",stroke='none')| repeat(20, rotate(10))
c2 = circle(r=120,fill="#ffd60a")
c40 = circle(r=125,fill="white",stroke='none')
c3= circle(x=58,y=58,r=35, fill="#FC5404",stroke='none') | repeat(8, rotate(45))
c4= circle(x=53,y=53,r=35, fill="#F98404",stroke='none') | repeat(8, rotate(45))
c10= circle(x=48,y=48,r=35, fill="#F9B208",stroke='none') | repeat(8, rotate(45))
c11= circle(x=43,y=43,r=35, fill="#F7FD04",stroke='none') | repeat(8, rotate(45))
c12= circle(x=38,y=38,r=35, fill="#fff70c",stroke='none') | repeat(8, rotate(45))
show(r1,r2,r3,r4,r5,r6,c40,c2,c3,c4,c10,c11,c12)
c5= circle(r=47, fill="#E09891",stroke='none') 
c6= circle(x=20,y=20,r=16, fill="#EB596E",stroke= 'none')| repeat(10, rotate(36))
show(c5,c6)

c20= circle(r=90, fill="#55a630", stroke='none')
c21= circle(r=80, fill="#80b918",stroke='none')
show(c20,c21)

def draw(rad, off, fill, stroke, rotoff, count):
    c = circle(r=rad, x=-rad-off, y=rad+off, fill=fill, stroke=stroke) | rotate(rotoff) | repeat(count, rotate(360 / count))
    r = rectangle(h=rad, w=rad, x=-1.5*rad-off, y=1.5*rad+off, fill=fill, stroke=stroke) | rotate(rotoff) | repeat(count, rotate(360 / count))
    return c, r 
c1, r1 = draw(26.5, 10.5, '#800f2f', '#800f2f', 45, 5) 
c11, r11 = draw(23, 12.5, '#c9184a', '#c9184a', 45, 5) 
c2, r2 = draw(23.5, 10.5,'#83142C', '#f74173', 75, 5)
c21, r21 = draw(20, 12.5,'#AD1D45', '#f7487d', 75, 5)
show(c1,r1,c11,r11,c2,r2,c21,r21)
e1 =ellipse(w=65,h=10,fill="#e4ff1a",stroke='none')|repeat(60,rotate(6))
e5 =ellipse(w=70,h=10,fill="#ed8709",stroke='none')|repeat(60,rotate(6))
e2 =ellipse(w=90,h=30,fill="#b90000",stroke='none')|repeat(8,rotate(45))
e3 =ellipse(w=100,h=30,fill="#e5800c",stroke='none')|repeat(8,rotate(45))
e4 =ellipse(w=110,h=30,fill="#ffef00",stroke='none')|repeat(8,rotate(45))
show(e4,e3,e2,e5,e1)
c7= circle(r=10, fill="#f5eccd",stroke='black')
c8= circle(r=7, fill="#fb8500",stroke='none')
c9= circle(r=5, fill="#ffb703",stroke='none')
c13= circle(r=2,fill="#dc2f02",stroke='none')
show(c7,c8,c9,c13)
c10 = ellipse(w=15, h=10, fill="#da121a", stroke="#fc7a57") | translate( x=20, y=10)
c11 = c9 | scale(0.47)
c12 = c10 | repeat(15, rotate(24))
show(c12)