Pookkalam by Simal shareef

Code

c = circle(r=145,fill="black")
c1= circle(r=80,fill="white",stroke="black",stroke_width = 28)
rc  = rectangle(w=200,h=200,fill="brown",stroke="none")
rc1 = rectangle(w=185,h=185,fill="red",stroke="none")|rotate(25)
rc2 = rectangle(w=170,h=170,fill="#FC6A03",stroke="none")
rc3 = rectangle(w=155,h=155,fill="orange",stroke="none")|rotate(25)
rc4 = rectangle(w=140,h=140,fill="yellow",stroke="none")
rc5 = rectangle(w=125,h=125,fill="white",stroke="none")|rotate(25)
r = rc |repeat  (15,rotate(50))
r1= rc1|repeat  (15,rotate(50))
r2= rc2|repeat  (15,rotate(50))
r3= rc3|repeat  (15,rotate(50))
r4= rc4|repeat  (15,rotate(50))
r5= rc5|repeat  (15,rotate(50))
c = c+r+r1+r2+r3+r4+r5
show(c,c1)
c = c|scale(.5) 
show(c)
r = rectangle(w=135,h=135,fill="orange",stroke="none")
r = r + rectangle(w=127,h=127,fill="green",stroke="none")
r = r + rectangle(w=119,h=119,fill="yellow",stroke="none")
r = r + rectangle(w=111,h=111,fill="white",stroke="none")
r = r + rectangle(w=103,h=103,fill="#4F86F7",stroke="none")
r = r|rotate(-300)
r = r|repeat (3,rotate(150))
show(r)
r = r+circle(r=68,fill="white",stroke="none",stroke_width=3)
rc  = rectangle(w=200,h=200,fill="white",stroke="none")
rc1 = rectangle(w=180,h=180,fill="yellow",stroke="none")|rotate(25)
rc2 = rectangle(w=160,h=160,fill="orange",stroke="none")
rc3 = rectangle(w=140,h=140,fill="#FC6A03",stroke="none")|rotate(25)
rc4 = rectangle(w=120,h=120,fill="red",stroke="none")
rc5 = rectangle(w=100,h=100,fill="brown",stroke="none")|rotate(25)
r = rc |repeat  (15,rotate(50))
r1= rc1|repeat  (15,rotate(50))
r2= rc2|repeat  (15,rotate(50))
r3= rc3|repeat  (15,rotate(50))
r4= rc4|repeat  (15,rotate(50))
r5= rc5|repeat  (15,rotate(50))
c = c+r+r1+r2+r3+r4+r5
c = c|scale(.6)
show(c)
hc0=circle(x=-40,y=-50,r=5,stroke_width=3)+rectangle(x=-38,y=-45,w=5,h=4,fill="orange",stroke="orange")+line(x1=-35.5,y1=-47,x2=-35.5,y2=-8,stroke_width=3)
hc1=hc0|translate(x=-5,y=-12)
hair=hc0+hc1
hair1=hair|translate(x=5,y=0)
hair2=hair1|scale(x=-1)
p=polygon([point(x=-37,y=0),point(x=-37,y=-40),point(x=-10,y=-60),point(x=0,y=-55),point(x=10,y=-60),point(x=37,y=-40),point(x=37,y=-40),point(x=37,y=0),point(x=37,y=25),point(x=-37,y=25)],fill="#f7aa8c",stroke="none")
p1=polygon([point(x=-25,y=-8),point(x=-17,y=-4),point(x=0,y=-8),point(x=17,y=-4),point(x=25,y=-8),point(x=17,y=0),point(x=0,y=-3),point(x=-17,y=0)],fill="black")
p2=polygon([point(x=-4,y=-8),point(x=-8,y=-25),point(x=0,y=-30),point(x=8,y=-25),point(x=4,y=-8)],fill="#d78d70",stroke="none")
p3=rectangle(w=10,h=20,x=40,y=-10,fill="#d78d70",stroke="none")+rectangle(w=10,h=20,x=-40,y=-10,fill="#d78d70",stroke="none")
p4=polygon([point(x=-30,y=-45),point(x=-8,y=-25),point(x=0,y=-30),point(x=8,y=-25),point(x=30,y=-45),point(x=25,y=-50),point(x=8,y=-35),point(x=0,y=-40),point(x=-8,y=-35),point(x=-25,y=-50)],fill="black",stroke="black",stroke_width="4")
e1 = ellipse(w=25,h=13,x=0,y=-41,fill="#d25553",stroke="#d78d70")
p5 = polygon([point(x=5,y=-10),point(x=12,y=-6),point(x=18,y=-6),point(x=23,y=-10),point(x=18,y=-12),point(x=12,y=-12)],fill="white",stroke="#d78d70")+circle(x=15,y=-9,r=2,fill="black")+circle(x=16,y=-8,r=1.5,fill="white")
p6 = p5|translate(x=-28,y=0)
p7 = rectangle(w=20,h=3,y=3,x=0,fill="white",stroke="#d78d70")
p8 = p7|translate(x=0,y=5)
p9 = polygon([point(x=-40,y=35),point(x=-35,y=-20),point(x=-30,y=5),point(x=-15,y=15),point(x=15,y=15),point(x=30,y=5),point(x=35,y=-20),point(x=40,y=35),point(x=20,y=50),point(x=-20,y=50)],fill="#ffbb00",stroke="#FFD700")+ellipse(w=10,h=20,y=35,x=0,fill="#50C878",stroke="none")
p10= polygon([point(x=37,y=5),point(x=15,y=23),point(x=-15,y=23),point(-37,y=5),point(x=-35,y=-20),point(x=-30,y=5),point(x=-15,y=15),point(x=15,y=15),point(x=30,y=5),point(x=35,y=-20)],fill="none",stroke="#FFD700", stroke_width=2)
ps=hair1+hair2+p3+p+p1+p2+e1+p4+p5+p6+p7+p8+p9+p10
r=rectangle(w=40,h=10,x=0,y=55,fill="#ffbb00",stroke="#FFD700")
r1=rectangle(w=30,h=8,x=0,y=63,fill="#ffbb00",stroke="#FFD700")
r2=rectangle(w=20,h=7,x=0,y=68,fill="#ffbb00",stroke="#FFD700")
r3=rectangle(w=10,h=6,x=0,y=75,fill="#ffbb00",stroke="#FFD700")
e0 = ellipse(w=8,h=15,x=13,y=32,fill="#E0115F",stroke="#FFD700")
e1 = ellipse(w=8,h=15,x=-13,y=32,fill="#E0115F",stroke="#FFD700")
maha = ps+r+r1+r2+r3+e0+e1
maha = maha|translate(x=0,y=-33)
c= circle(r=50,fill="none",stroke="#ffbb00",stroke_width=10)
c1=ellipse(w=4,h=6,fill="#8B0000",stroke="none",x=0,y=-50)
c2=ellipse(w=4,h=6,fill="#50C878",stroke="none",x=12,y=-49)
c1 =c1 |repeat  (14,rotate(25))
c2 =c2 |repeat  (14,rotate(25))
maha=c+c1+c2+maha
maha=maha|translate(x=0,y=20)
l=line(x1=0,y1=-5,x2=0,y2=-10,stroke="#FFD700",stroke_width=3)+circle(x=0,y=-13,r=4,fill="#50C878",stroke="#ffbb00",stroke_width=3)+circle(x=0,y=-20,r=2,fill="#E0115F",stroke="none")
l=l|translate(x=-42,y=-25)
l1=l|scale(x=-1)
l=l1+l
p=polygon([point(x=-30,y=-25),point(x=-30,y=-45),point(x=-10,y=-60),point(x=10,y=-60),point(x=30,y=-45),point(x=30,y=-25),point(x=8,y=-25),point(x=0,y=-20),point(x=-8,y=-25)],fill=" #44b4a8")
p1=polygon([point(x=30,y=-35),point(x=8,y=-35),point(x=0,y=-33),point(x=-8,y=-35),point(x=-30,y=-35),point(x=-30,y=-45),point(x=-8,y=-45),point(x=0,y=-50),point(x=8,y=-45),point(x=30,y=-45)])
p=p+p1
p=p|translate(x=0,y=-8)
l2 =line(x1=-30,y1=-35,x2=-32,y2=-25,stroke="white",stroke_width=2)
l3 =l2|scale(x=-1)
l2 =l2+l3
l4 = line(x1=-30,y1=-55,x2=-38,y2=-35,stroke="white",stroke_width=2)
l5 = l4|scale(x=-1)
l4 = l4+l5 
l2 = l2+l4+p
# maha = maha + l2
# ↑enable that line for mask
maha = maha + l
maha = maha|scale(.7)
show(maha)