Pookkalam by Thaseen Nazar

Code

c1 = circle(r=150,fill="#A64DFF",stroke="#A64DFF")
c2 = circle(r=95,fill="#D9B3FF",stroke="#D9B3FF")
c3 = circle(r=87.7,fill="#F2E6FF",stroke="#F2E6FF")
c4 = circle(r=78,fill="#E6CCFF",stroke="#E6CCFF")
c6 = circle(r=148,stroke="#A64DFF",stroke_width=5)
c5 = circle(r=131,fill="#660099",stroke="#660099")

r1 = rectangle(w=210,h=210,fill="#33004D",stroke="#33004D")|repeat(30,rotate(20))
r2 = rectangle(w=195,h=195,fill="#660099",stroke="#660099")|rotate(15)|repeat(30,rotate(20))
r3 = rectangle(w=180,h=180,fill="#9900E6",stroke="#9900E6")|rotate(20)|repeat(30,rotate(20))
r4 = rectangle(w=165,h=165,fill="#A64DFF",stroke="#A64DFF")|rotate(25)|repeat(30,rotate(20))
r5 = rectangle(w=150,h=150,fill="#BF80FF",stroke="#BF80FF")|rotate(20)|repeat(30,rotate(20))
r6 = rectangle(w=140,h=140,fill="#D9B3FF",stroke="#D9B3FF")|rotate(20)|repeat(30,rotate(20))
r7 = rectangle(w=130,h=130,fill="#F2E6FF",stroke="#F2E6FF")|rotate(20)|repeat(30,rotate(20))

show(c1,r1,c6,c5,r2,r3,r4,r5,r6,c2,r7)

show(c3,c4)

e1 = ellipse(w=175,h=15,fill="#D9B3FF",stroke="#D9B3FF")|repeat(30,rotate(10))
e2 = ellipse(w=145,h=15,fill="#BF80FF",stroke="#BF80FF")|rotate(5)|repeat(30,rotate(10))
e3 = ellipse(w=120,h=20,fill="#B366FF",stroke="#B366FF")|rotate(15)|repeat(20,rotate(30))
e4 = ellipse(w=110,h=20,fill="#A64DFF",stroke="#A64DFF")|rotate(30)|repeat(20,rotate(30))
e5 = ellipse(w=90,h=20,fill="#9933FF",stroke="#9933FF")|rotate(15)|repeat(20,rotate(30))
e6 = ellipse(w=60,h=20,fill="#8C19FF",stroke="#8C19FF")|rotate(30)|repeat(20,rotate(30))
e7 = ellipse(w=50,h=15,fill="#7300E6",stroke="#7300E6")|rotate(30)|repeat(3,rotate(60))
e8 = ellipse(w=40,h=15,fill="#5900B3",stroke="#5900B3")|rotate(60)|repeat(3,rotate(60))
e9 = ellipse(w=20,h=15,fill="#330099",stroke="#330099")|rotate(30)|repeat(3,rotate(60))


show(e1,e2,e3,e4,e5,e6,e7,e8,e9)

res1 = ellipse(w=45,h=10,fill="#BB99FF",stroke="#BB99FF")|repeat(30,rotate(60))
res2 = ellipse(w=45,h=10,fill="#884DFF",stroke="#884DFF")|rotate(30)|repeat(30,rotate(60))
res3 = ellipse(w=30,h=10,fill="#8C19FF",stroke="#8C19FF")|rotate(30)|repeat(30,rotate(60))
res4 = ellipse(w=15,h=10,fill="#6600CC",stroke="#6600CC")|rotate(30)|repeat(30,rotate(60))
res5 = circle(r=4,fill="#33004D",stroke="#33004D")

ret0=res1+res2+res3+res4+res5|translate(x=120)
ret1=res1+res2+res3+res4+res5|translate(x=120)|rotate(45)
ret2=res1+res2+res3+res4+res5|translate(x=120)|rotate(90)
ret3=res1+res2+res3+res4+res5|translate(x=120)|rotate(135)
ret4=res1+res2+res3+res4+res5|translate(x=120)|rotate(180)
ret5=res1+res2+res3+res4+res5|translate(x=120)|rotate(225)
ret6=res1+res2+res3+res4+res5|translate(x=120)|rotate(270)
ret7=res1+res2+res3+res4+res5|translate(x=120)|rotate(315)

show(ret0,ret1,ret2,ret3,ret4,ret5,ret6,ret7)

ter1 = ellipse(w=45,h=20,fill="#CC99FF",stroke="#CC99FF")|repeat(30,rotate(60))
ter2 = ellipse(w=40,h=20,fill="#BF80FF",stroke="#BF80FF")|rotate(30)|repeat(30,rotate(60))
ter3 = ellipse(w=30,h=15,fill="#B366FF",stroke="#B366FF")|rotate(60)|repeat(30,rotate(60))
ter4 = ellipse(w=20,h=10,fill="#CC66FF",stroke="#CC66FF")|rotate(30)|repeat(30,rotate(60))
ter5 = circle(r=4,fill="#AA80FF",stroke="#AA80FF")

tet0=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(22.5)
tet1=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(67.5)
tet2=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(112.5)
tet3=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(157.5)
tet4=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(202.5)
tet5=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(247.5)
tet6=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(292.5)
tet7=ter1+ter2+ter3+ter4+ter5|scale(0.65)|translate(y=67)|rotate(337.5)

show(tet0,tet1,tet2,tet3,tet4,tet5,tet6,tet7)