Pookkalam by Sneha Sani

Code

c = circle(r=150, fill='#0a0603')
show(c)

def c(color, radius):
    return circle(r=radius, fill=color, stroke='none')


def square(color, side):
    return rectangle(w=side, h=side, fill=color, stroke='none')

maroon_layer = square(side=212.5,color='maroon') | repeat(10,  rotate(10)) 
dmaroon_layer = square(side=212.5,color='#c21320') | repeat(4,  rotate(20))
orange_layer = square(side=196, color='#fd6002') | rotate(5) | repeat(10,  rotate(10)) 

yellow_layer = square(side=182, color='#eafe24') | repeat(10,  rotate(10)) 
lyellow_layer = square(side=182, color='#edbb0a') | repeat(4,  rotate(20)) 

light_yellow_layer = square(side=168, color='#f1fd7f') | rotate(5) | repeat(10,  rotate(10)) 

show(maroon_layer,dmaroon_layer,orange_layer,yellow_layer,lyellow_layer, light_yellow_layer)

l=line(x1=0,y1=0,x2=150,y2=0,stroke='#ffed4a') | repeat(2, rotate(2))
l1=l | repeat(8,rotate(45))
show(l,l1)

c1=c(radius=107,color='#d25fbe',)
show(c1)

e1= ellipse(x=52,w=104,h=70,fill='maroon')
e2= e1 | repeat(8, rotate(45))
show(e2)

s1=rectangle(w=150,h=150 ,fill='#eafe24',stroke='none')|rotate(22.5)
s2=s1|rotate(45)
s3=rectangle(w=140,h=140 ,fill='#edbb0a',stroke='none')|rotate(22.5)
s4=s3|rotate(45)
s5=rectangle(w=130,h=130 ,fill='#259136',stroke='none')|rotate(22.5)
s6=s5|rotate(45)
show(s1,s2,s3,s4,s5,s6)



c2=circle(r=82,fill='#259136',stroke='none')
c1=circle(r=75,fill='#f1fd7f',stroke='none')
show(c2,c1)

l=line(x1=0,y1=0,x2=75,y2=0,stroke='#edb83a') | repeat(30, rotate(15))
l1=l | repeat(8,rotate(45))
#show(l,l)


#kathakali
c1=circle(r=50,fill='#ef1122',stroke='none')
c2=circle(r=45,fill='#d21a28',stroke='#fee331',stroke_width=2)
c3=circle(x=37,r=4,stroke_width=2,stroke='#e29f4c')
c4= c3 | repeat(20,rotate(18))
c5=circle(r=30,stroke='#08fb1d',stroke_width=2)
c6=circle(r=28,stroke='#fc7e11',stroke_width=3)
c7=circle(x=22,r=2,stroke='none',fill='#f8f5f2')
c8= c7 | repeat(20,rotate(18))
c9=circle(r=12,stroke='#fdc211',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='white')
s2=s1|rotate(45)|translate(y=25)
s3=s1|translate(y=25)
c1=circle(y=-30,r=25,fill='#19bd36',stroke='none')
e1=ellipse(y=-40,w=90,h=45,fill='white',stroke='none')
e2=ellipse(y=-43,w=70,h=30,fill='#d6d0cd',stroke='none')
c2=circle(r=27,fill='#fd5d18',stroke='none')
c3=circle(r=27,stroke='#eafe24')
c4=c3| repeat(5,translate(y=-5))
r1=rectangle(y=-20,w=50,h=15,fill='#19bd36',stroke='none')
l1=line(x1=-30,y1=0,x2=30,y2=0,stroke_width=5,stroke='#972402')
l2=line(x1=-30,y1=-5,x2=30,y2=-5,stroke_width=5,stroke='red')
l3=line(x1=-30,y1=-10,x2=30,y2=-10,stroke_width=5,stroke='#972402')
l4=line(x1=-30,y1=-15,x2=30,y2=-15,stroke_width=5,stroke='red')
s4=rectangle(y=30,w=20,h=15,fill='#fd5d18',stroke='none')
l5=line(x1=-13,y1=30,x2=13,y2=30,stroke_width=5,stroke='#cb3205')
c5=circle(r=9,fill='#fee331',stroke='none')
c6=circle(r=3,fill='#b72918',stroke='none')
c7=circle(x=5,r=1,fill='#b72918',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='#fee331',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='red',stroke='none')
c15=circle(x=0,y=-20,r=2,fill='black',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)