Pookkalam by Ananya Sreeram

Code

r=rectangle(w=300,h=300,fill="LightYellow",stroke="none")
c=circle(r=150,fill="black",stroke="none")+circle(r=140,fill="white",stroke="none")
c1=circle(r=31,stroke="DarkGreen",fill="orange",stroke_width=5)
c2=circle(r=6,fill="yellow",stroke="none")
e=rectangle(w=20,h=10,fill="Chocolate",stroke="maroon",stroke_width=2)|repeat(17,rotate(50))
f16=ellipse(w=76, h=36, fill="darkgreen", stroke="DarkKhaki",stroke_width=5) | repeat(6,rotate(30))
p1 = point(x=32, y=0)
p2 = point(x=32, y=3)
p3 = point(x=13, y=0)
p4 = point(x=30, y=-3)
shape3 = polygon([p1, p2, p3, p4],stroke="DarkGreen") | repeat(48, rotate(7.5))
c4=circle(r=15,fill="MediumAquamarine")
c5=circle(r=8,fill="DarkGreen",stroke="none")
z = line(x1=5, y1=5, x2=10, y2=10,stroke="Goldenrod",stroke_width=3)|repeat(10,rotate(45))

c7=circle(r=3,fill="white")
shape= combine([f16,c1,e,c2,shape3])|translate(x=71,y=70)|repeat(14,rotate(60))
r1=rectangle(w=20,h=20,fill="DarkRed",stroke="none")| repeat(40,rotate(60))
c11=circle(r=15,fill="LemonChiffon",stroke="none")
c3=circle(r=20,fill="AntiqueWhite",stroke="yellow",stroke_width=5)
c6=circle(r=24,fill="AntiqueWhite",stroke="orangered",stroke_width=3)
c8=circle(r=28,fill="AntiqueWhite",stroke="maroon",stroke_width=5)
z1=line(x1=100,y1=100,x2=106,y2=106,stroke="yellow",stroke_width=10)|repeat(100,rotate(20))
z2=line(x1=100,y1=100,x2=106,y2=106,stroke="green",stroke_width=10)|repeat(100,rotate(10))
f11=ellipse(w=208, h=108, fill="maroon", stroke="none") | repeat(6,rotate(30))
f12=ellipse(w=190, h=90, fill="orangered", stroke="none") | repeat(6,rotate(30))
f13=ellipse(w=180,h=90, fill="yellow",stroke="none") | repeat(6,rotate(30))
f14=ellipse(w=170,h=90, fill="Moccasin",stroke="none") | repeat(6,rotate(30))
c9=circle(r=46,fill="maroon",stroke="none")
c10=circle(r=140,fill="Khaki",stroke="none")
p1 = point(x=139, y=0)
p2 = point(x=140, y=8)
p3 = point(x=140, y=0)
p4 = point(x=139, y=-8)

shape2 = polygon([p1, p2, p3, p4], stroke="white",stroke_width=3.2) | repeat(48, rotate(7.5))

s1 = rectangle (w=196,h=196,fill="darkred", stroke="darkred") | repeat (15,rotate(50))
s2 = rectangle (w=193,h=193,fill="orangered", stroke="orangered")|rotate(15) | repeat (15,rotate(50))
s3 = rectangle (w=178,h=178,fill="yellow", stroke="yellow")|rotate(0) | repeat (15,rotate(50))
s4 = rectangle (w=165,h=165,fill="maroon", stroke="maroon")|rotate(15) | repeat (15,rotate(50))
s5 = rectangle (w=153.5,h=153.5,fill="LavenderBlush", stroke="white")|rotate(0) | repeat (15,rotate(50))
f15=ellipse(w=104, h=50, fill="Brown", stroke="orangered",stroke_width=3) | repeat(6,rotate(30))
cx=circle(r=2,fill="navyblue",stroke="maroon",stroke_width=4)|translate(x=40,y=40)|repeat(50,rotate(50))
e12=circle(r=79,fill="khaki",stroke="none")
show(r,c,c10,s1, s2, s3, s4,s5,shape2,f11,z1,z2,f11,f12,f13,f14,e12,f15,c9,c8,c6,c3,c11,r1,z,cx,shape,c5,c7)

p1 = point(x=45, y=0)
p2 = point(x=30, y=5.5)
p3 = point(x=45, y=0)
p4 = point(x=35, y=-5.5)

shape1 = polygon([p1, p2, p3, p4],stroke="yellow") | repeat(48, rotate(7.5))
show(shape1)

cy=ellipse(w=30,h=25,stroke="Sienna",fill="Sienna")
rx=rectangle(w=30,h=15,stroke="LightYellow",fill="LightYellow")|translate(y=7.5)
cz=ellipse(w=30,h=7.5,stroke="wheat",fill="wheat")
oilcolor=color(r=0,g=0,b=0,a=0.1)
oil=ellipse(w=20,h=5,stroke=oilcolor,fill=oilcolor)
f1=ellipse(w=7.5,h=17,stroke="orange",fill="orange")|translate(y=8)

topP1=point(x=-3.8,y=9)
topP2=point(x=3.8,y=9)
topP3=point(x=0,y=20)
top=polygon([topP1, topP2, topP3], stroke="orange", fill="orange")
diya1=combine([cy,rx,cz,oil,f1,top])|translate(x=125,y=125)
diya2=combine([cy,rx,cz,oil,f1,top])|translate(x=-125,y=125)
diya3=combine([cy,rx,cz,oil,f1,top])|translate(x=-125,y=-125)
diya4=combine([cy,rx,cz,oil,f1,top])|translate(x=125,y=-125)

show(diya1,diya2,diya3,diya4)