Pookkalam by Anirudh v

Code

def circles(x, y, r, fill):
        c = circle(x, y, r, fill=fill , stroke="none")
        show(c)

circles(0, 0, 144 , "black")
p1 = point(x=138, y=1)
p2 = point(x=131, y=7)
p3 = point(x=124, y=0)
p4 = point(x=131, y=-7)
shape = polygon([p1, p2, p3, p4], fill="yellow", stroke="none") |  repeat(180, rotate(3))
show(shape)
c= circle(141, 0, 4, fill="blue", stroke="none") | repeat(12, rotate(30))
show(c)
for i in range(2):
    r1 = rectangle(w=140,h=140,fill='white')
    r2 = rectangle(w=150,h=150,fill='red')
    r3 = rectangle(w=160,h=160,fill='brown')
    r4 = rectangle(w=174,h=174,fill='orange')
rec_copy = r4+r3+r2+r1 | repeat(4,rotate(30))
show(rec_copy+r4+r3+r2+r1)
c1 = circle(r=90,fill="red", stroke = "green", stroke_width = 3)
c2 = circle(r=80,fill="yellow", stroke = "black", stroke_width = 7)
show(c1,c2)
c1=circle(r=48,fill='black',stroke='none')
c2=circle(r=45,fill='red',stroke='green',stroke_width=3)
c3=circle(x=37,r=3.5,stroke_width=4,stroke='gold',fill='black')
c4= c3 | repeat(20,rotate(18))
c5=circle(r=30,stroke='green',stroke_width=2)
c6=circle(r=28,stroke='green',stroke_width=2)
c7=circle(x=22,r=2,stroke='none',fill='white')
c8= c7 | repeat(20,rotate(18))
c9=circle(r=12,stroke='gold',stroke_width=10)
show(c1,c2,c4,c5,c6,c8,c9)
kathakali=combine([c1,c2,c4,c5,c6,c8,c9])
k= kathakali | translate(y=22)
show(k)
s1=rectangle(w=40,h=40,stroke='orange')
s2=s1|rotate(45)|translate(y=25)
s3=s1|translate(y=25)
c1=circle(y=-30,r=25,fill='green',stroke='none')
e1=ellipse(y=-40,w=90,h=45,fill='white',stroke='none')
e2=ellipse(y=-43,w=70,h=30,fill='white',stroke='none')
c2=circle(r=27,fill='red',stroke='none')
c3=circle(r=27,stroke='yellow')
c4=c3| repeat(5,translate(y=-5))
r1=rectangle(y=-20,w=50,h=15,fill='green',stroke='none')
l1=line(x1=-30,y1=0,x2=30,y2=0,stroke_width=3,stroke='orange')
l2=line(x1=-30,y1=-5,x2=30,y2=-5,stroke_width=6,stroke='maroon')
l3=line(x1=-30,y1=-10,x2=30,y2=-10,stroke_width=3,stroke='orange')
l4=line(x1=-30,y1=-15,x2=30,y2=-15,stroke_width=6,stroke='maroon')
s4=rectangle(y=30,w=20,h=15,fill='orange',stroke='none')
l5=line(x1=-13,y1=30,x2=13,y2=30,stroke_width=5,stroke='maroon')
c5=circle(r=9,fill='gold',stroke='none')
c6=circle(r=3,fill='red',stroke='none')
c7=circle(x=5,r=1,fill='orange',stroke='none')
c8=c7|repeat(8,rotate(45))
c9=combine([c5,c6,c8])
c10=c9|translate(x=-29,y=-24)
c11=c9|translate(x=29,y=-24)
r2=rectangle(y=-23,w=20,h=10,fill='red',stroke='none')
l6=line(x1=3,y1=-30,x2=17,y2=-25,stroke_width=2,stroke='black')
l7=line(x1=-3,y1=-30,x2=-17,y2=-25,stroke_width=2,stroke='black')
l8=line(x1=3,y1=-34,x2=17,y2=-34,stroke_width=2,stroke='black')
l9=line(x1=-3,y1=-34,x2=-17,y2=-34,stroke_width=2,stroke='black')
l10=line(x1=-4,y1=-48,x2=4,y2=-48,stroke_width=2,stroke='red')
l11=line(x1=-8,y1=-45,x2=-4,y2=-48,stroke_width=2,stroke='red')
l12=line(x1=8,y1=-45,x2=4,y2=-48,stroke_width=2,stroke='red')
c12=circle(x=-8,y=-45,r=2,fill='red',stroke='none')
c13=circle(x=8,y=-45,r=2,fill='red',stroke='none')
c14=circle(x=0,y=-25,r=2,fill='black',stroke='none')
c15=circle(x=0,y=-20,r=2,fill='orange',stroke='none')
show(s2,s3,s3,e1,e2,c2,c4,c1,r1,l1,l2,l3,l4,s4,l5,c10,c11,r2,l6,l7,l8,l9,l10,l11,l12,c12,c13,c14,c15)