Pookkalam by Ananda krishnan

Code

shapes=[]
def pook(n,x,y,w,h):
    p=ellipse(x=x,y=y,w=w,h=h,fill="#939,transparent",stroke="transparent")|repeat(n,rotate(30)|scale(0.97))
    c=circle(x=x,y=y,r=h/2,fill="#DA70D6")|repeat(n,rotate(30)|scale(0.97))
    cs=circle(x=x,y=y,r=h/2,fill="#433082")|repeat(n,rotate(30)|scale(0.5))
    p2=ellipse(x=x,y=y,w=1.5*w,h=1.5*h,fill="#FFF8DC")|repeat(n,rotate(10)|scale(0.97))
    p3=ellipse(x=x,y=y,w=2*w,h=2*h,fill="#630930",stroke="#E0FFFF",stroke_width=1.22)|repeat(n,rotate(5)|scale(0.97))
    s=combine([p3,p,p2,cs,c])|repeat(90,rotate(30)|scale(1))
    return s

    
    

c = circle(r=150,fill="black  ",stroke="#E0FFFF")
c1=circle(r=133,fill=color(r=255,g=255,b=0),stroke="transparent")
c2=circle(r=110,fill="red",stroke="transparent")

def boat():
    p4=point(x=-150,y=0)
    p5=point(x=-90,y=65)
    p6=point(x=-130,y=-20)

    p7=polygon([p4,p5,p6],fill="black ",stroke="transparent")

    p=point(x=114,y=-45)
    p1=point(x=95,y=-80)
    
    p2=point(x=102,y=-95)
    p3=polygon([p,p1,p2],fill="black ",stroke="transparent") 
    
    p8=point(x=40,y=-140)
    p9=point(x=106,y=-70)
    p10=point(x=85,y=-105)
    p11=polygon([p8,p9,p10],fill="black")
    
    
    
    show(p11,p7,p3)

def hum():
    c=circle(x=-90,y=-60,r=10,fill="black ",stroke="#E0FFFF")
    

    b=ellipse(x=-72,y=-100,w=10,h=30,fill="black",stroke="transparent") |rotate(-15) 
    d=ellipse(x=-110,y=-41,w=8,h=20,fill="black",stroke="none")|rotate(20)
    e=ellipse(x=-60,y=90,w=8,h=20,fill="black",stroke="transparent")|rotate(100)
    
    elli=combine([b,d,e])
    
    #for stick
    s1=rectangle(x=-170,y=-5,w=15,h=10,fill="yellow")|rotate(45)
    s2=rectangle(x=-135,y=-5,w=55,h=5,fill=color(r=255,g=255,b=0,a=1))|rotate(45)
    s3=ellipse(x=-9,y=105,w=20,h=5,fill="orange")|rotate(135)
    stick=combine([s1,s2,s3])

    #below for wrist
    crec=ellipse(x=-100,y=-30,w=10,h=8,fill="black",stroke="transparent")+rectangle(x=-100,y=-30,w=5,h=7,fill="black")|rotate(30)
    crec1=ellipse(x=5,y=-120,w=10,h=8,fill=color(r=0,g=0,b=0,a=1))+rectangle(x=5,y=-120,w=5,h=7,fill="black")|rotate(-45)
    #for leg
    l1=ellipse(x=-120,y=-3,w=25,h=10,fill="black",stroke="#FF9")|rotate(45)
    l2=ellipse(x=-60,y=100,w=45,h=7,fill="black",stroke="#FF9")|rotate(110)
    
    
    leg=combine([l1,l2])
    show(c,leg,elli,stick,crec,crec1)


def rect():
    #for i in range(10):

    r1=rectangle(w=170,h=100,fill="#8B0000 ",stroke="#F0FFFF")|repeat(40*4,rotate(30))
    r2=rectangle(w=200,h=120,fill="#FFE4E1 ",stroke="#8B0000 ",stroke_width=1.2)|repeat(40*5,rotate(30))
    r3=rectangle(w=200,h=140,fill="#600F00",stroke="black")|repeat(90*4,rotate(10)) 
    r4=rectangle(w=200,h=160,fill="#DDA0DD",stroke="#E0FFFF",stroke_width=1.3)|repeat(90*4,rotate(10))
    show(r4,r3,r2,r1)
def line1():
    l=line(x1=0,y1=0,x2=140,y2=0,stroke_width=4)|repeat(60*4,rotate(3))
    show(l)

q=pook(90,0,0,80,20)

show(c,c1,c2 )
line1()
rect()
show(q)

boat()
hum()