Pookkalam by Ananthu V

Code

black = color(r=18,g=41,b=23)
darkred = color(r=153, g=28, b=28)
red= color(r=230, g=72, b=5)
maskblue= color(r=157, g=227, b=247)
green= color(r=72, g=91, b=38)
yellow= color(r=255, g=215, b=13)
orange = color(r=255, g=133, b=3)
yellowwhite = color(r=255, g=245, b=166)
bgcir = circle(r=32,fill=darkred,stroke='none')
k4 = circle(r=36,fill=black,y=0,stroke='none')
k1 = circle(r=28,fill=red,y=0,stroke='none')
k2 = circle(r=24,fill=orange,y=0,stroke='none')
k3 = circle(r=20,fill=yellow,y=0,stroke='none')
macir = circle(r=5,fill=red,y=31,stroke='none')
mael = ellipse(w=12, h=5,fill=yellow,stroke='none',x=34)|rotate(90)
ke1 = ellipse(w=12, h=6,fill=yellow,stroke='none',y=27)
macir2 = circle(r=9,fill=red,y=19,stroke='none')
ke2 = ellipse(w=16, h=10,fill=yellow,stroke='none',y=14)
ke3 = ellipse(w=20, h=13,fill=darkred,stroke='none',y=8)
ke4 = ellipse(w=29, h=18,fill=red,stroke='none',y=1)
ke5 = ellipse(w=26, h=13,fill=darkred,stroke='none',y=-4)
ke6 = ellipse(w=35, h=25,fill=red,stroke='none',y=-14)
cirrou= circle(x=22, y=0,r=1.5,fill=yellowwhite,stroke='none')| repeat(22,rotate(18))

che= circle(x=-7, y=-21,r=9,fill=green,stroke='none')| repeat(2,translate(x=14))
che1= circle(x=-17, y=-28,r=6,fill=yellow,stroke='none')| repeat(2,translate(x=34))
che3= circle(x=-14, y=-18,r=4.5,fill=yellow,stroke='none')| repeat(2,translate(x=28))

che= circle(x=-7, y=-21,r=9,fill=green,stroke='none')| repeat(2,translate(x=14))
che1= circle(x=-17, y=-28,r=6,fill=yellow,stroke='none')| repeat(2,translate(x=34))
che3= circle(x=-14, y=-18,r=4.5,fill=yellow,stroke='none')| repeat(2,translate(x=28))

che1a= circle(x=-17, y=-28,r=4,fill=red,stroke='none')| repeat(2,translate(x=34))
che3a= circle(x=-14, y=-18,r=2.5,fill=red,stroke='none')| repeat(2,translate(x=28))
che1b= circle(x=-17, y=-28,r=2,fill=yellow,stroke='none')| repeat(2,translate(x=34))
che3b= circle(x=-14, y=-18,r=.95,fill=yellow,stroke='none')| repeat(2,translate(x=28))
che2= circle(x=-5, y=-31,r=13,fill=green,stroke='none')| repeat(2,translate(x=10))
p1 = point(x=0, y=-46)
p2 = point(x=11, y=-42)
p3 = point(x=-11, y=-42)
shape = polygon([p1, p2, p3],fill=green,stroke='none')
p1 = point(x=-14, y=-21.3)
p2 = point(x=-15, y=-22)
p3 = point(x=-6, y=-20)
p4 = point(x=-2, y=-22)
p5 = point(x=-1.2, y=-23)
p6 = point(x=-6, y=-20)
eyebrowleft = polygon([p1, p2, p3, p4, p5, p6],fill='black')
p1 = point(x=14, y=-21.3)
p2 = point(x=15, y=-22)
p3 = point(x=6, y=-20)
p4 = point(x=2, y=-22)
p5 = point(x=1.2, y=-23)
p6 = point(x=6, y=-20)
eyebrowright = polygon([p1, p2, p3, p4, p5, p6],fill='black')
eyebrow=combine([eyebrowright,eyebrowleft])
p1 = point(x=-2, y=-26)
p2 = point(x=-1, y=-27)
p3 = point(x=-2, y=-28)
ep1=polygon([p1, p2, p3],fill='black')
p1 = point(x=2, y=-26)
p2 = point(x=1, y=-27)
p3 = point(x=2, y=-28)
ep2=polygon([p1, p2, p3],fill='black')
ee1 = ellipse(w=11, h=7,fill='black',stroke='none',y=-27,x=-7)|repeat(2,translate(x=14))
ee2 = ellipse(w=7, h=4,fill='white',stroke='none',y=-26.3,x=-6.5)|repeat(2,translate(x=13))
ee3 = ellipse(w=4, h=5,fill='black',stroke='none',y=-26.3,x=-6.5)|repeat(2,translate(x=13))
eyes= combine([ee1,ee2,ee3,ep1,ep2])
bgew1 = ellipse(w=61, h=28,fill='grey',stroke='none',y=-35)
bgew2 = ellipse(w=60, h=27,fill='white',stroke='none',y=-35)
bgew3 = ellipse(w=50, h=24,fill='grey',stroke='none',y=-35)
bgew4 = ellipse(w=49, h=23.5,fill='white',stroke='none',y=-35)
bgew5 = ellipse(w=43, h=22,fill='grey',stroke='none',y=-35)
bgew6 = ellipse(w=42, h=21,fill='white',stroke='none',y=-35)
bgew=combine([bgew1,bgew2,bgew3,bgew4,bgew5,bgew6])
p1 = point(x=-12, y=-35)
p2 = point(x=-2, y=-32)
p3 = point(x=2, y=-32)
p4 = point(x=12, y=-35)
p5 = point(x=12, y=-41)
p6 = point(x=-12, y=-41)
maske = ellipse(w=24.5, h=10,fill='white',stroke='none',y=-40)
maskrec = polygon([p1, p2, p3, p4,p5,p6],fill='white',stroke='none')
p1 = point(x=-9, y=-35)
p2 = point(x=-2, y=-33)
p3 = point(x=2, y=-33)
p4 = point(x=9, y=-35)
p5 = point(x=9, y=-41)
p6 = point(x=-9, y=-41)
maskeb = ellipse(w=18.2, h=8,fill=maskblue,stroke='none',y=-40)
maskrecb= polygon([p1, p2, p3, p4,p5,p6],fill=maskblue,stroke='none')
m1 = line(x1=-10, y1=-38, x2=-17, y2=-28,stroke_width=1.5,stroke='white')
m2 = line(x1=10, y1=-38, x2=17, y2=-28,stroke_width=1.5,stroke='white')
m3 = line(x1=-10, y1=-40, x2=-19, y2=-36,stroke_width=1.5,stroke='white')
m4 = line(x1=10, y1=-40, x2=19, y2=-36,stroke_width=1.5,stroke='white')
mask= combine([maske,maskrec,maskeb,maskrecb,m1,m2,m3,m4])
p1 = point(x=-3, y=-15)
p2 = point(x=-1, y=-17)
p3 = point(x=1, y=-17)
p4 = point(x=3, y=-15)
p5 = point(x=3, y=-18)
p7 = point(x=-3, y=-18)
p6 = point(x=0, y=-21)
pol= polygon([p1, p2, p3, p4,p5,p6,p7],fill=yellow,stroke='none')
p1 = point(x=-2, y=-18)
p2 = point(x=0, y=-19)
p3 = point(x=2, y=-18)
p4 = point(x=0, y=-15)
poly= polygon([p1, p2, p3,p4],fill=red,stroke='none')
p1 = point(x=1, y=-27)
p2 = point(x=2.3, y=-35)
p3 = point(x=1.8, y=-35)
noseri=polygon([p1, p2, p3],fill='black')
p1 = point(x=-1, y=-27)
p2 = point(x=-2.3, y=-35)
p3 = point(x=-1.8, y=-35)
nosele=polygon([p1, p2, p3],fill='black')
nose = combine([nosele,noseri])
cir = circle(r=139,fill=black,stroke='none')
cir2 = circle(r=67,fill='white',stroke='black')
cir3 = circle(r=84,fill='black',stroke='none')
patelip= ellipse(w=84,h=30,fill=black,stroke='none')
patcir1 = circle(r=8,fill=green,stroke='none',x=65)
patcir2 = circle(r=10,fill=yellow,stroke='none',x=65)
patcir3 = circle(r=12,fill=orange,stroke='none',x=65)
patcir4 = circle(r=14,fill=red,stroke='none',x=65)
patcir5 = circle(r=16,fill=darkred,stroke='none',x=65)
patcir= combine([patcir5,patcir4,patcir3,patcir2,patcir1])|rotate(280)|repeat(18, rotate(20))
p1 = point(x=44, y=0)
p2 = point(x=41, y=-3.45)
p3 = point(x=41, y=3.45)
patpoly=polygon([p1, p2, p3],fill=black,stroke='none')
pat1=combine([patpoly,patelip])|repeat(16, rotate(22.5))
patelip1= ellipse(w=92,h=35,fill=darkred,stroke='none')
p1 = point(x=48, y=0)
p2 = point(x=45, y=-4)
p3 = point(x=45, y=4)
patpoly1=polygon([p1, p2, p3],fill=darkred,stroke='none')
pat2=combine([patpoly1,patelip1])|rotate(11.225)|repeat(16, rotate(22.5))
patelip2= ellipse(w=102,h=40,fill=red,stroke='none')
p1 = point(x=53, y=0)
p2 = point(x=49, y=-5.8)
p3 = point(x=49, y=5.8)
patpoly2=polygon([p1, p2, p3],fill=red,stroke='none')
pat3=combine([patpoly2,patelip2])|repeat(16, rotate(22.5))
patelip3= ellipse(w=112,h=45,fill=orange,stroke='none')
p1 = point(x=58, y=0)
p2 = point(x=55, y=-4.5)
p3 = point(x=55, y=4.5)
patpoly3=polygon([p1, p2, p3],fill=orange,stroke='none')
pat4=combine([patpoly3,patelip3])|rotate(11.225)|repeat(16, rotate(22.5))
patelip4= ellipse(w=119,h=50,fill=yellow,stroke='none')
p1 = point(x=62, y=0)
p2 = point(x=58, y=-6.1)
p3 = point(x=58, y=6.1)
patpoly4=polygon([p1, p2, p3],fill=yellow,stroke='none')
pat5=combine([patpoly4,patelip4])|repeat(16, rotate(22.5))
patelip5= ellipse(w=129,h=55,fill=yellowwhite,stroke='none')
p1 = point(x=66, y=0)
p2 = point(x=63, y=-6)
p3 = point(x=63, y=6)
patpoly5=polygon([p1, p2, p3],fill=yellowwhite,stroke='none')
pat6=combine([patpoly5,patelip5])|rotate(11.225)|repeat(16, rotate(22.5))
patrec1 = rectangle(w=192,h=192,fill=darkred,stroke='none') | repeat(10, rotate(10))
patrec2 = rectangle(w=178,h=178,fill=red,stroke='none') | rotate(5) | repeat(10, rotate(10))
patrec3 = rectangle(w=165,h=165,fill=orange,stroke='none') | rotate(10) | repeat(10, rotate(10))
patrec4= rectangle(w=152,h=152,fill=yellow,stroke='none') | rotate(15) | repeat(10, rotate(10))
patrec5= rectangle(w=141,h=141,fill=yellowwhite,stroke='none') | rotate(20) | repeat(10, rotate(10))
patrec6= rectangle(w=130,h=130,fill='white',stroke='none') | rotate(25) | repeat(10, rotate(10))
pat=combine([patrec1,patrec2,patrec3,patrec4,patrec5,patrec6])
makudam= combine([k1,k2,k3,cirrou,mael,macir,ke1,macir2,ke2,ke3,ke4,ke5,ke6,])
facestruct=combine([k4,bgcir,bgew,makudam,che,che2,shape,nose,mask,eyebrow,eyes,che1,che3,che1a,che3a,che1b,che3b,pol,poly])
show(cir,pat,cir3,patcir,cir2,pat6,pat5,pat4,pat3,pat2,pat1,facestruct)