Pookkalam by Nayana Rajeev

Code

#outer layer
s1=circle(r=150,fill="black",stroke="none")
s2=circle(r=140,fill="orange",stroke="none")
s3= circle(r=130,fill="yellow",stroke="none")
c1=circle(x=0,y=60,r=60,fill="red",stroke="#8f00ff",stroke_width=4)|repeat(6,rotate(60))
c2=circle(x=60,y=0,r=60,fill="white",stroke="#8f00ff",stroke_width=4)|repeat(6,rotate(60))

#middle layer
s4=circle(r=100,fill="green",stroke="orange",stroke_width=8)
e1=ellipse(w=195,h=95,fill="#e82274",stroke="none")|repeat(12,rotate(30))
e2=ellipse(w=180,h=50,fill="#9e1c5f",stroke="none")|repeat(12,rotate(30))
e3=ellipse(w=150,h=25,fill="white",stroke="none")|repeat(12,rotate(30))

#inner layer
s5=circle(r=50,fill="pink",stroke="green",stroke_width=3)
c3=circle(x=37,y=0,r=6,fill="#9637bf",stroke="none")|repeat(8,rotate(45))
s6= circle(r=25,fill="red",stroke="#5d9e1c",stroke_width=3)
l1 =line(x1=0.5,y1=0,x2=24,y2=0)|repeat(8,rotate(45))
def dot(x, y):
    c = circle(x=x, y=y, r=5, fill="orange")
    return c

d = dot(x=0, y=0)

show(s1,s2,s3,c1,c2,s4,e1,e2,e3,s5,c3,s6,l1,d)