Pookkalam by Gopika G Krishnan

Code

#layer1
c = circle(r=150,fill="#4E0101")
#kathakali face
e1 = ellipse(h=55,w=110,x=0,y=-75,fill="white",stroke="black")
e2 = ellipse(h=35,w=85,x=0,y=-65,fill="#57D600",stroke="black")
c11 = circle(r=38,x=-4,y=-27,stroke_width=3)
c22 = circle(r=38,x=4,y=-27,stroke_width=3)
c33 = circle(r=38,x=0,y=-27,stroke_width=5)
c1 = circle(r=42,x=0,y=-30,fill = "#57D600",stroke="none")
e3 = ellipse(h=7,w=25,x=0,y=-69,fill = "red",stroke = "none")
e4 = ellipse(h=7,w=12.5,x=-13,y=-66,fill="red",stroke="none")|rotate(15)
e5 = e4 | scale(x=-1)
sc1 = circle(r=4,x=-14,y=-67,fill="red",stroke="none")
sc2 = sc1 | scale(x = -1)
c2 = circle(r=77,x=0,y=20,fill="red",stroke = "#7B0465",stroke_width = 4.5)
#head
e11=ellipse(h=40,w=108,x=0,y=-20,fill="green",stroke = "none")
e22=ellipse(h=40,w=88,x=0,y=0,fill="green",stroke = "none")
e33=ellipse(h=40,w=80,x=0,y=20,fill="green",stroke = "none")
e44=ellipse(h=40,w=70,x=0,y=40,fill="green",stroke = "none")
e55=ellipse(h=40,w=60,x=0,y=60,fill="green",stroke="none")
emm=ellipse(h=28,w=50,x=0,y=80,fill="green",stroke="none")
e66=ellipse(w=104,h=34,x=0,y=-20,fill="#10AC08",stroke="none")
e77=ellipse(w=82,h=34,x=0,y=0,fill="#10AC08",stroke="none")
e88=ellipse(w=74,h=34,x=0,y=20,fill="#10AC08",stroke="none")
e99=ellipse(w=64,h=34,x=0,y=40,fill="#10AC08",stroke="none")
e100=ellipse(w=54,h=34,x=0,y=60,fill="#10AC08",stroke="none")
em1m1=ellipse(w=44,h=28,x=0,y=80,fill="#10AC08",stroke="none")
#circle layers
c_1 = circle(r=10,x=45,y=-55,fill="#FFE800",stroke="#FF6100",stroke_width=2)
c_2 = c_1 | scale(x=-1)
c_3 = circle(r=5,x=45,y=-55,fill="#D81F1F",stroke="#266713")
c_4 = c_3 | scale(x=-1)
c13 = circle(r=10,x=50,y=-45,fill="#E4B00F",stroke="#830000")
c14 = c13 | scale(x=-1)
c_5 = circle(r=5,x=50,y=-45,fill="#FFE800",stroke="#FF6100",stroke_width=2)
c_6 = c_5 | scale(x=-1)
#markontriangle
p_1=point(x=-10,y=10)
p_2=point(x=10,y=10)
p_3=point(x=10,y=-8)
p_4=point(x=0,y=2)
p_5=point(x=-10,y=-8)
p__1 = polygon([p_1,p_2,p_3,p_4,p_5],fill="#E12323",stroke="none")
p1 = point(x=0,y=-25)
p2 = point(x=20,y=10)
p3 = point(x=-20,y=10)
p = polygon([p1,p2,p3],fill = "yellow")
ci1 = circle(r=5,x=0,y=10,fill="white",stroke="none")
ci2 = circle(r=5,x=20,y=7,fill="white",stroke="none")
ci3 = circle(r=5,x=-20,y=7,fill="white",stroke="none")
ci4 = circle(r=5,x=-34,y=-4,fill="white",stroke="none")
ci5 = circle(r=5,x=34,y=-4,fill="white",stroke="none")
ci6 = circle(r=5,x=42,y=-18,fill="white",stroke="none")
ci7 = circle(r=5,x=-42,y=-18,fill="white",stroke="none")
ci8 = circle(r=5,x=42,y=-36,fill="white",stroke="none")
ci9 = circle(r=5,x=-42,y=-36,fill="white",stroke="none")
co1 = circle(r=2.5,x=42,y=-36,fill="orange")
co3 = circle(r=2.5,x=-42,y=-36,fill="orange")
co2 = co1 | repeat(12,rotate(22.5))
co4 = circle(r=3,x=34,y=4,fill="violet")
co5 = co4 | repeat(8,rotate(22.5))

#pattern outside
r1=rectangle(w=215,h=215,fill="#650F00",stroke="none")|rotate(15)|repeat(20,rotate(50))|scale(0.98)
r2=rectangle(w=195,h=195,fill="#820a0a",stroke="none")|repeat(20,rotate(50))
r3=rectangle(w=176,h=176,fill="#ce0606",stroke="none")|rotate(15)|repeat(20,rotate(50))
r4=rectangle(w=160,h=160,fill="#FF2626",stroke="none")|repeat(20,rotate(50))
r5=rectangle(w=148,h=148,fill="orange",stroke="none")|rotate(15)|repeat(20,rotate(50))
r6=rectangle(w=136,h=138,fill="#FFF05E ",stroke="none")|repeat(20,rotate(50))
r = combine([r1,r2,r3,r4,r5,r6])
#eyes
p4 = point(x=30,y=-45)
p5 = point(x=30,y=-30)
p6 = point(x=5,y=-45)
p_2 = polygon([p4,p5,p6],fill="white",stroke_width=2) 
p_3 = p_2 | scale(x =-1)
x1,y1 = 5,-35
x2,y2 = 30,-20
l1 = line(x1,y1,x2,y2,stroke_width=2)
l2 = l1 | scale(x=-1)
sc3 = circle(r=2.5,x=19.5,y=-41.7,fill="red",stroke_width=3)
sc4 = sc3 | scale(x=-1)

show(c,r,c13,c14,c_5,c_6,c2,e11,e22,e33,e44,e55,e66,e77,e88,e99,e100,emm,em1m1,e1,e2,c11,c22,c33,c1,e3,e4,e5,c_1,c_2,c_3,c_4,p,p__1,p_2,p_3,sc1,sc2,l1,l2,sc3,sc4,ci1,ci2,ci3,ci4,ci5)
show(ci6,ci7,ci8,ci9,co1,co2,co3,co4,co5)