Pookkalam by Milen Ninan Ittyeipe

Code

out=circle(r=110,fill="red")

ott=circle(y=97.5,r=10,fill="white")|repeat(8,rotate(45))

ott1=circle(y=92.5,r=5,fill="green")|rotate(45/2)|repeat(8,rotate(45))

show(out,ott)

#middlelayer
ml1=ellipse(h=200,w=100,fill="#fffb0a")|rotate(45/2)|repeat(8,rotate(45))

mtra = point(x=0,y=160)
mtrb = point(x=-38,y=130)
mtrc = point(x=38,y=130)
mtrri = polygon([mtra,mtrb,mtrc],fill="#fffb0a",stroke="500")
mtrrid = polygon([mtra,mtrb,mtrc],fill="#fffb0a",stroke="none")

mtrrif1 = mtrri |scale(0.67) |rotate(45/2)|repeat(8,rotate(45))
mtrrifd1 = mtrrid |scale(0.665) |rotate(45/2)|repeat(8,rotate(45))

show(mtrrif1,ml1,mtrrifd1)

show(ott1)

#base2
base2=circle(r=83,fill="#ffb13d",stroke=2)
new=ellipse(h=60,w=25,fill="#127534",stroke="none")
cn1=circle(x=37.6,r=75/2,fill="#ffb13d",stroke="none")
cn2=circle(x=-37.6,r=75/2,fill="#ffb13d",stroke="none")
hide = rectangle(y=-23,h=40,w=40,fill="#ffb13d",stroke="none")

new1=ellipse(x=11,h=47.5,w=20,fill="#00b03e",stroke="none")
new1a=ellipse(x=10,y=17,h=47.5,w=24,fill="#ffb13d",stroke="none") |rotate(-50)

new2=ellipse(x=-11,h=47.5,w=20,fill="#00b03e",stroke="none")
new2a=ellipse(x=-10,y=17,h=47.5,w=24,fill="#ffb13d",stroke="none") |rotate(50)

desg0 = new+cn1+cn2+new1+new1a+new2+new2a+hide |scale(0.5) |rotate(-45/2)
desgf= desg0 | translate(x=22, y=52.5) | repeat(4, rotate(90))
desg00 = new+cn1+cn2+new1+new1a+new2+new2a+hide |scale(0.5) |rotate(45/2)
desgg= desg00 | translate(x=-22, y=52.5) | repeat(4, rotate(90))
show(base2,desgf,desgg)

#base2disigns
#############################################################################
ta1 = point(x=-17.5,y=0)
tb1 = point(x=30,y=0)
tc1 = point(x=5,y=10)
tri1 = polygon([ta1,tb1,tc1],fill="red")

triangle1 = tri1 | scale(0.5) | rotate(45)
trianglef1 = triangle1 | translate(x=-13, y=60) | repeat(8, rotate(45))
show(trianglef1)
############################################################################
ta2 = point(x=-0,y=-17.5)
tb2 = point(x=0,y=30)
tc2 = point(x=10,y=5)
tri2 = polygon([ta2,tb2,tc2],fill="red")

triangle2 = tri2 | scale(0.5) | rotate(135)
trianglef2 = triangle2 | translate(x=-60, y=13) | repeat(8, rotate(45))
show(trianglef2)
#############################################################################
tra = point(x=0,y=47.5)
trb = point(x=-27.5,y=40)
trc = point(x=27.5,y=40)
trri = polygon([tra,trb,trc],fill="red")
trrif = trri |scale(0.75) |rotate(23) | translate(x=-18, y=40.5) | repeat(8, rotate(45))
show(trrif)
##############################################################################
box1=rectangle(x=-18,y=35,h=5,w=20,fill="#e7f56e",stroke=1.5)
box2=rectangle(x=18,y=35,h=5,w=20,fill="#e7f56e",stroke=1.5)
box=box1+box2 |scale(0.75) |rotate(23) | translate(x=-18, y=40.5) | repeat(8, rotate(45))
show(box)
##########################################################################


#innermostbase
ff1 = rectangle(x=25,y=25,w=47,h=47,fill="#f05316",stroke_width=.5) | repeat (8,rotate (45))
ff10 = circle(x=0,y=0,r=52,fill="#f05316",stroke="none")
ff2 = rectangle(x=25,y=25,w=40,h=40,fill="#ffdd30",stroke_width=.5) | repeat (8,rotate (45))
ff20 = circle(x=0,y=0,r=49,fill="#ffdd30",stroke="none")
show(ff1,ff10,ff2,ff20)  

inner1 = point(x=0,y=70)
inner2 = point(x=-8.5,y=80)
inner3 = point(x=8.5, y= 80)
innert = polygon([inner1,inner2,inner3],fill="blue",stroke_width=.5) | repeat (8,rotate (45))
show(innert)

#imbasedesign1
imbd11 = circle(x=37,y=37,r=3.75,fill="red",stroke="none") | repeat (8,rotate (45))
imbd12 = rectangle(x=38.5,y=38.5,w=5,h=5,fill="red",stroke="none") | repeat (8,rotate (45))

imbdi11 = circle(x=37,y=37,r=1.5,fill="yellow",stroke="none") | repeat (8,rotate (45))
imbdi12 = rectangle(x=37.5,y=37.5,w=2.5,h=2.5,fill="yellow",stroke="none") | repeat (8,rotate (45))

imbd13 = circle(x=40,y=30,r=2,fill="#6ebd0d",stroke_width=.25) | repeat (8,rotate (45))
imbd14 = circle(x=30,y=40,r=2,fill="#6ebd0d",stroke_width=.25) | repeat (8,rotate (45))

imbd15 = circle(x=40,y=25,r=1.25,fill="#1862c4",stroke_width=.15) | repeat (8,rotate (45))
imbd16 = circle(x=25,y=40,r=1.25,fill="#1862c4",stroke_width=.15) | repeat (8,rotate (45))

show(imbd12,imbd11,imbdi12,imbdi11,imbd13,imbd14,imbd15,imbd16)

#flower
bud = circle(r=30,fill="#f7ff03")
petal = ellipse(y=50,w=20,h=75,stroke="#00000",stroke_width = 2,fill="#fcf0de") #FB5F00
petals = (petal | repeat(50,rotate(100)))
flower1 =(bud+petals) | scale(0.17) | translate(x=22, y=-20.5)
flower2 =(bud+petals) | scale(0.17) | translate(x=-22, y=-20.5)
flower3 =(bud+petals) | scale(0.13) | translate(x=31, y=1.2)
flower4 =(bud+petals) | scale(0.13) | translate(x=-31, y=1.2)
flower5 =(bud+petals) | scale(0.1) | translate(x=31, y=17)
flower6 =(bud+petals) | scale(0.1) | translate(x=-31, y=17)
flower7 =(bud+petals) | scale(0.08) | translate(x=29, y=28)
flower8 =(bud+petals) | scale(0.08) | translate(x=-29, y=28)
show(flower1,flower2,flower3,flower4,flower5,flower6,flower7,flower8)

#crownbase
cwn1 = circle(x=0,y=12.5,r=30,fill="#e04822",stroke="none")
cwn2 = circle(x=0, y=12.5,r=26,fill="#ffb469",stroke="none")
cwn3a = circle(x=0,y=12.5,r=20,stroke="green",stroke_width=2)
cwn3b = circle(x=0,y=12.5,r=21,stroke="white",stroke_width=.75)
cwn3c = circle(x=0,y=12.5,r=18.5,stroke="white",stroke_width=.75)
cwn3 = circle(x=0,y=12.5,r=21,fill="#cc1512",stroke="none")

cwn4 = ellipse(x=0, y=2.5,w=30, h=20,fill="#ffce5c",stroke="none")
cwn4a = ellipse(x=1, y=1.5,w=30, h=18,fill="#fa5700",stroke="none")
cwn5 = ellipse(x=0, y=11.5,w=25, h=15,fill="#ffce5c",stroke="none")
cwn5a = ellipse(x=1, y=10.5,w=25, h=13,fill="#fa5700",stroke="none")
cwn6 = ellipse(x=0, y=19.5,w=20, h=10,fill="#ffce5c",stroke="none")
cwn6a = ellipse(x=1, y=18.5,w=20, h=8,fill="#fa5700",stroke="none")
cwt1 = point(x=-5, y=23.5)
cwt2 = point(x=0, y=32.5)
cwt3 = point(x=5, y=23.5)
cwntop = polygon([cwt1,cwt2,cwt3],fill="#f5691d",stroke="none")
cwtshade = line(x1=-5, y1=23.5,x2=0, y2=32.5,stroke="#ffce5c",stroke_width=1.5)
show(cwn1,cwn2,cwn3,cwn3a,cwn3b,cwn3c,cwntop,cwn6,cwn6a,cwn5,cwn5a,cwn4,cwn4a,cwtshade)

#crowndesigns
bud1 = circle(r=1.5,fill="blue",stroke="none") | translate(x=23.5) | repeat(16,rotate(45/2))
b1 = bud1 | translate(y=12.5)
bud2 = rectangle(x=-4.5,y=10,w=2.5,h=2.5,fill="blue",stroke="none") | rotate(45) | repeat(4,translate(x=7))  
b2 = bud2
show(b1,b2)

bb1= line(x1=-11,y1=12,x2=-8.8,y2=14,stroke="blue",stroke_width=1)
bb2= line(x1=-8.8,y1=14,x2=-6.6,y2=12,stroke="blue",stroke_width=1)
bb= bb1 + bb2 | repeat(5, translate(x=4.5))
show(bb)  

#kammal
kryt1 = circle(x=16.25,y=-3,r=2,fill="#f76f4d",stroke="#941010",stroke_width=1.5)
kryt2 = circle(x=17.5,y=-8.5,r=3.5,fill="#f76f4d",stroke="#941010",stroke_width=1.5)
klft1 = circle(x=-16.25,y=-3,r=2,fill="#f76f4d",stroke="#941010",stroke_width=1.5)
klft2 = circle(x=-17.5,y=-8.5,r=3.5,fill="#f76f4d",stroke="#941010",stroke_width=1.5)
show(klft1,klft2,kryt1,kryt2)

#face
facew = ellipse(x=0, y=-32.5,w=36, h=20,fill="white",stroke_width=.3)
p1 = point(x=-14, y=-4.5)
p2 = point(x=-14, y=-30.5)
p3 = point(x=-2, y=-38.5)
p4 = point(x=2, y=-38.5)
p5 = point(x=14, y=-30.5)
p6 = point(x=14, y=-4.5)
face = polygon([p1, p2 ,p3,p4 ,p5 ,p6],fill="green",stroke="green",stroke_width=.1)
show(facew,face)

check1 = circle(x=-11.5,y=-24.5,r=6,fill="green",stroke="green",stroke_width=.1)
check2 = circle(x=11.5,y=-24.5,r=6,fill="green",stroke="green",stroke_width=.1)
show(check1,check2)
fh1 = circle(x=-7, y=-6,r=6,fill="green",stroke="green",stroke_width=.1)
fh2 = circle(x=7, y=-6,r=6,fill="green",stroke="green",stroke_width=.1)
show(fh1,fh2)

#eye
e1 = ellipse(x=-7.5, y=-14.5,w=5, h=2.5,fill="white",stroke="white",stroke_width=.2)
e2 = circle(x=-7.5, y=-14.5,r=1.25,fill="black",stroke="black",stroke_width=.2)
e3 = ellipse(x=7.5, y=-14.5,w=5, h=2.5,fill="white",stroke="white",stroke_width=.2)
e4 = circle(x=7.5, y=-14.5,r=1.25,fill="black",stroke="black",stroke_width=.2)

eb1a = line(x1=-14, y1=-6.5, x2=-11, y2=-8.5,stroke="black",stroke_width=2)
eb1b = line( x1=-11, y1=-8.5, x2=-9, y2=-5.5,stroke="black",stroke_width=2)
eb1c = line( x1=-9, y1=-5.5, x2=-3.5, y2=-10,stroke="black",stroke_width=2)
eb2a = line(x1=14, y1=-6.5, x2=11, y2=-8.5,stroke="black",stroke_width=2)
eb2b = line( x1=11, y1=-8.5, x2=9, y2=-5.5,stroke="black",stroke_width=2)
eb2c = line( x1=9, y1=-5.5, x2=3.5, y2=-10,stroke="black",stroke_width=2)

b1 = rectangle(x=-8.5, y=-15,w=7, h=3.5,fill="black")
b2 = rectangle(x=8.5, y=-15,w=7, h=3.5,fill="black")
show(b1,b2)
show(e1,e2,e3,e4,eb1a,eb1b,eb1c,eb2a,eb2b,eb2c,)

#lips
l1 = point(x=-13, y=-25.5)          
l2 = point(x=-8, y=-29.5)
l3 = point(x=-4.5, y=-28.5)
l4 = point(x=0, y=-26.5)
l5 = point(x=4.5, y=-28.5)
l6 = point(x=8, y=-29.5)
l7 = point(x=13, y=-25.5)
l8 = point(x=2, y=-30.5)
l9 = point(x=-2, y=-30.5)
lips = polygon([l1,l2,l3,l4,l5,l6,l7,l8,l9],fill="red",stroke="red",stroke_width=.10)

lpc1 = circle(x=10, y=-27.5,r=1.5,fill="red",stroke="red",stroke_width=.1)
lpc2 = circle(x=-10, y=-27.5,r=1.5,fill="red",stroke="red",stroke_width=.1)

z1 = line(x1=-4, y1=-27.5, x2=4, y2=-27.5,stroke="black",stroke_width=.5)
show(lpc1,lpc2,lips,z1)