Pookkalam by Joel

Code

def curves(color, w,h):
    return ellipse(w=w, h=h, fill=color, stroke='none')
# def th():
c=circle(r=150,stroke="none",fill="pink")
show(c)
def triCircle():
    p1 = point(x=-30, y=0)
    p2 = point(x=30, y=0)
    p3 = point(x=0, y=20)
    f=(2*(150**2))**0.47
    r=rectangle(w=f,h=f,fill="orange",stroke="none")|rotate(45)|scale(x=0.5)|repeat(8,rotate(45))
    shape = polygon([p1, p2, p3],stroke='#fcde20', stroke_with=3 ,fill="#fcde20") | translate(y=-103.5) | rotate(45)|repeat(8,  rotate(45))
    shape=shape | rotate(45)
    c1 = circle(r=107,  stroke='#fcde20', stroke_width=5.7)
    r= r|rotate(22.5)
    ri=78
    lines=line(stroke_width=10 ,stroke="orange",x1=ri,x2=-ri,y1=ri,y2=-ri) |repeat(4,  rotate(45))
    lines=lines|rotate(22.5)
    show(shape,c1,r,lines)
l1 =curves(w=150,h=300, color="green") | repeat(4,  rotate(45))
l2 =curves(w=130,h=280, color="white") | repeat(4,  rotate(45))
l3 =curves(w=120,h=300, color="#ea4e6e") | rotate(22.5)|repeat(4,  rotate(45))
l5 =curves(w=100,h=280, color="orange") | rotate(22.5)|repeat(4,  rotate(45))
l6 =curves(w=80,h=255, color="green") | rotate(22.5)|repeat(4,  rotate(45))
l4 =curves(w=120,h=260, color="red") | repeat(4,  rotate(45))
l7=curves(w=50,h=240, color="#df5eff") | rotate(22.5)|repeat(4,  rotate(45))
show(l1,l2,l3,l4,l5,l6,l7)
c1 = circle(r=107, fill="white", stroke='none')
show(c1)
triCircle()

c1 = circle(r=50, fill="white", stroke='none')
len=90
in1 =curves(w=60,h=len+30, color="green")| repeat(4,  rotate(45))

rec=rectangle(w=len,h=len,fill="#fcde20",stroke="none") |repeat(2,rotate(45))
show(in1| rotate(22.5),rec)
l1 =curves(w=20,h=95, color="#df5eff") | repeat(8,  rotate(22.5))
c1 = circle(r=40, fill="white", stroke='none')
c2= circle(r=5,fill="red",stroke="none") | translate(x=0,y=90) |repeat(8,rotate(45))
show(l1,c1,c2)
c15=circle(x=27,y=12,fill="red",r=2)|repeat(8,rotate(45))
r3=rectangle(x=-40,y=0,w=20,h=20,fill="red",stroke="none")|rotate(45)
s3=r3|repeat(8,rotate(45))
r4=rectangle(x=-40,y=0,w=15,h=15,fill="orange",stroke="none")|rotate(45)
s4=r4|repeat(8,rotate(45))
r5=rectangle(x=-40,y=0,w=10,h=10,fill="yellow",stroke="none")|rotate(45)
s5=r5|repeat(8,rotate(45))
r6=rectangle(x=-40,y=0,w=5,h=5,fill="white",stroke="none")|rotate(45)
s6=r6|repeat(8,rotate(45))
l=ellipse(w=30,h=17,x=20,y=0,stroke='#673147',stroke_width=3,fill="#f4ff59") | rotate(22.5)
e1=l | repeat(9, rotate(45))
s1=ellipse(w=30,h=25)
s=s1|repeat(55,rotate(5)|scale(0.95))|translate(x=80,y=0)
m=s|repeat(8,rotate(45))
ci=circle(r=10,fill="red",stroke="none")
ci2=circle(r=5,fill="white",stroke="none")
show(s3,s4,s5,s6,e1,c15,ci,ci2)