Pookkalam by ivinmani

Code

#circle
cc=circle(r=115,fill="#570E0B", stroke="none")
cc1=circle(r=105,fill="#3F0B09", stroke="none")
cc2=circle(r=130,fill="white",stroke="none")
cc3=circle(r=119,stroke="none",stroke_width=0.5,fill="#A44F16")
#linesbg
ll1=ellipse(h=130,w=30,x=0,y=65,stroke="#570E0B",stroke_width=0.5)|repeat(50,rotate(8))
show(cc2,cc3,ll1,cc,cc1)
#petals
pc=ellipse (y=40,x=15,w=15,h=75,stroke="none",fill="#C22119")|repeat(30,rotate(20))
pb=ellipse (y=40,x=15,w=20,h=60,stroke="none",fill="#FA6C0C")|rotate(30)|repeat(25,rotate(20))
pc1=ellipse (y=40,x=15,w=15,h=75,stroke="none",fill="#D8600F")|repeat(30,rotate(20))|scale(1.2)
pb1=ellipse (y=40,x=15,w=20,h=60,stroke="none",fill="#A61D16")|rotate(30)|repeat(25,rotate(20))|scale(1.2)
pc2=ellipse (y=40,x=15,w=15,h=75,stroke="none",fill="#A44F16")|repeat(30,rotate(20))|scale(1.3)|rotate(10)
show(pc2,pc1,pb1,pb,pc)
#butterflywing
def petal(x,y,x1,y1,t,tr,s):   
    e1=ellipse(h=250,w=70,x=x,y=y,stroke="none",fill="#FE6307")|rotate(t)|scale(0.65)
    rc=circle(r=7,x=x1,y=y1,fill="#FFC107",stroke="none")|rotate(tr)|scale(0.7)
    e2=ellipse(h=250,w=70,x=x,y=y,stroke="none",fill="#9B1E18")|rotate(t)|scale(0.5)
    e3=e1+rc+e2
    for i in range (4):
        e3=e3|scale(0.8)|rotate(s)
        show(e3)
petal(0,-75,70,-150,30,5,10)
petal(-10,80,-83,152,25,0,10)
petal(0,-80,70,-160,128.7,104.7,-10)
petal(0,-80,70,-160,310,286,-10)
#flower
p=ellipse (y=40,x=15,w=15,h=30,a=0.7,stroke="none",fill="#8C1C18")|repeat(25,rotate(20))
c=circle(r=40,stroke="none",fill="#8C1C18")
fl_violet=p+c|scale(0.8)
p1=ellipse (y=40,x=15,w=15,h=30,a=0.7,stroke="none",fill="#570E0B")|repeat(25,rotate(20))
c1=circle(r=40,stroke="none",fill="#570E0B")
fl_yellow=p1+c1
#inside
cb=circle(r=20,x=5,y=-5,fill="#FFC107", stroke="none")
cbc=ellipse(h=40,w=30,x=2.5,y=-3.5,fill="#8C1C18", stroke="none")|rotate(140)
l=rectangle(x=3,y=-1,h=40,w=1,stroke="none",fill="#343A40")|rotate(30)
cbc1=ellipse(h=40,w=30,x=2.5,y=-3.5,stroke="#8c1c18")|rotate(140)|scale(1.1)
k=ellipse(x=22,y=-2,h=35,w=13,fill="#FF8800", stroke="none")|rotate(120)
k1=ellipse (x=25,y=-2.5,h=25,w=6,fill="#FFC107",stroke="none")|rotate(120)
ul=fl_yellow+fl_violet+cb+cbc+cbc1+l+k+k1|scale(0.7)
show(ul)