Pookkalam by Mohamed shibin

Code

#stroke_width=2

#main bg circle
c1 = circle(fill="red",stroke="black",r=150)
show(c1)


#octa cirle function
xy2 = 63.5
def rocta(r,col,stro,a):
    c = (circle(x=xy2, y=xy2,r=r,fill=col,stroke=stro)  | rotate(a))
    return c

#octa circle shadow layer
angle = 5
for i in range(8):
    roct = rocta(r=61,col="#9b2226",stro="none",a=angle)
    show(roct)
    angle = angle +60
#octa circle main layer
angle = 0
for i in range(8):
    roct = rocta(r=60,col="yellow",stro="black",a=angle)
    
    show(roct)
    angle = angle +60

xy3 = 63.5
petal = (ellipse(w=50,h=25 ,x=22,y=0, fill="#e76f51") | repeat(6,rotate(60))) + (circle(r=20,fill="#2a9d8f"))+((ellipse(w=10,h=3,x=11,y=0,dtroke_width=2,fill="#264653") | repeat(18,rotate(20)))) + ((ellipse(w=10,h=2,x=8,y=0,dtroke_width=2,fill="#264653") | repeat(15,rotate(30))))+ ((ellipse(w=6,h=2,x=5,y=0,dtroke_width=2,fill="#264653") | repeat(15,rotate(30)))) | translate(x=xy3,y=xy3) |repeat(6,rotate(60))
show(petal)

#octa ellipse function
#xy1 = 60
def eocta(w1,h1,r,col,stro,a):
    e = ellipse(x=10, y=0,w=w1,h=h1,r=r,fill=col,stroke=stro) | rotate(a)
    return e



angle = 15
for i in range(8):
    eoct = eocta(w1=200,h1=50,r=61,col="#6a040f",stro="none",a=angle)
    show(eoct)
    angle = angle +60

#octa triangle 

angle = 45
x1=11.9
y1=98
y2 = 118


for i in range(8):
    p1= point(x=-x1,y=y1)
    p2= point(x=x1,y=y1)
    p3= point(x=0,y=y2)
    poly = polygon([p1,p2,p3],fill="#6a040f",stroke="none") | rotate(angle)
    
    show(poly)
    angle = angle+60


c = circle(fill="white",r=65)
show(c)
e = ellipse(x=-36,y=-37,w=15,h=16,fill="#6a994e",stroke="none")|rotate(0)
show(e)
e = ellipse(x=-39,y=-39,w=16,h=22,fill="#6a994e",stroke="none")|rotate(0)
show(e)
e = ellipse(x=-43,y=-31,w=17,h=8,fill="#6a994e",stroke="none")|rotate(0)
show(e)
e = ellipse(x=0,y=-47,w=70,h=27,fill="#48cae4",stroke="none")|rotate(0)
show(e)
e = ellipse(x=33,y=-45,w=20,h=8,fill="#48cae4",stroke="none")|rotate(0)
show(e)


btc = circle(fill="brown",stroke="none",r=50)
#show(c)


bte = ellipse(x=2,y=6,w=110,h=100,fill="white",stroke="none")|rotate(27)
#show(e)

p1 = point(x=49,y=-9)
p2 = point(x=48.5,y=-11)
p3 = point(x=51,y=-9.5)
triabt = polygon([p1,p2,p3],fill="brown",stroke="none")
#show(triabt)
boat = (btc+bte+triabt) | translate(x=3,y=0)
show(boat)
e = ellipse(x=-40,y=-35,w=17,h=17,fill="#6a994e",stroke="none")|rotate(0)
show(e)

c = circle(stroke_width=(7),stroke="orange",r=61)
show(c)