Pookkalam by Pouly Babu

Code

#bottom
c1 = circle(x=95,y=25,r=30,fill="red",stroke_width=2)|repeat(2,rotate(180))
c2 = circle(x=24,y=92,r=30,fill="#ff751a",stroke_width=2)|repeat(2,rotate(180))
c3 = circle(x=-70,y=70,r=30,fill="red",stroke_width=2)|repeat(2,rotate(180))
c4 = circle(x=62.5,y=62.5,r=40,fill="black")|repeat(6,rotate(60))
#circle triangles
w1=point(x=62.3,y=62.3)
w2=point(x=82,y=98)
w3=point(x=98,y=82)
w=polygon([w1,w2,w3],fill="white",stroke="black")|repeat(6,rotate(60))
g1=point(x=62.3,y=62.3)
g2=point(x=65,y=102)
g3=point(x=82,y=98)
gl=polygon([g1,g2,g3],fill="gold",stroke="black")|repeat(6,rotate(60))
g4=point(x=62.3,y=62.3)
g5=point(x=98,y=82)
g6=point(x=102,y=65)
gr=polygon([g4,g5,g6],fill="gold",stroke="black")|repeat(6,rotate(60))
o1=point(x=62.3,y=62.3)
o2=point(x=65,y=102)
o3=point(x=47,y=100)
ol=polygon([o1,o2,o3],fill="#ff751a",stroke="black")|repeat(6,rotate(60))
o4=point(x=62.3,y=62.3)
o5=point(x=100,y=47)
o6=point(x=102,y=65)
oe=polygon([o4,o5,o6],fill="#ff751a",stroke="black")|repeat(6,rotate(60))
r1=point(x=62.3,y=62.3)
r2=point(x=47,y=100)
r3=point(x=33,y=90)
rl=polygon([r1,r2,r3],fill="red",stroke="black")|repeat(6,rotate(60))
r4=point(x=62.3,y=62.3)
r5=point(x=90,y=33)
r6=point(x=100,y=47)
rr=polygon([r4,r5,r6],fill="red",stroke="black")|repeat(6,rotate(60))
m1=point(x=62.3,y=62.3)
m2=point(x=33,y=90)
m3=point(x=28,y=80)
ml=polygon([m1,m2,m3],fill="maroon",stroke="black")|repeat(6,rotate(60))
m4=point(x=62.3,y=62.3)
m5=point(x=80,y=28)
m6=point(x=90,y=33)
mr=polygon([m4,m5,m6],fill="maroon",stroke="black")|repeat(6,rotate(60))

c5=circle(x=62.5,y=62.5,r=10,fill="#006600")|repeat(6,rotate(60))
c6=circle(r=84,fill="#006600")
show(c1,c2,c3,c4,w,gl,gr,rl,rr,ol,oe,ml,mr,c5,c6)
#inner design
def c(r,col):
    return circle(r=r,fill=col,stroke="none")
def el(w,col):
    return ellipse(w=w,h=w/2,fill=col,stroke_width=2)

ec1=el(125,"red")
ec2=el(125,"#ff751a")|rotate(45)
ec3=el(125,"#ffc0cb")|rotate(90)
ec4=el(125,"maroon")|rotate(135)

e1= ellipse(x=50, y=0,w=10,fill='gold') | repeat(36, rotate(10))
e2= ellipse(x=50, y=0,w=10,stroke='red') | repeat(36, rotate(10))

mar1=c(32,"maroon")
mar2=c(35,"#b30000")
red=c(38,"#ff1a1a")
orange=c(41,"#ff6600")
yl1=c(44,"#ffcc00")
yl2=c(47,"#ffff99")
yl3=circle(r=50,fill="#ffffff",stroke_width=2)

l=line(x1=0,y1=0,x2=47,y2=20,stroke_width=2)|repeat(12,rotate(45))

flw = rectangle(w=45, h=45, fill="#b18fff")|rotate(45)
lav=flw| repeat(30, rotate(20) | scale(0.9))

s1=rectangle(w=96,h=96,fill='yellow',stroke='none')|rotate(10)|repeat(9,rotate(15))
s2=rectangle(w=110,h=110,fill='red',stroke='none')|rotate(17)|repeat(10,rotate(15))
s3=rectangle(w=120,h=120,fill='maroon',stroke='none')|rotate(24)|repeat(10,rotate(15))

show(s3,s2,e1,e2,s1)

show(ec4,ec3,ec2,ec1,yl3,yl2,yl1,orange,red,mar2,mar1,l,lav)