Pookkalam by Susmitha Rajendran

Code

outer=circle(r=150,fill="#800000")
inter_a = line(0,0,0,0)
side=300
angle = 0
colors = ["#ED1717" ,"#F24D11","#F6830C","#FBB806","#FFEE00"]
for i,color in enumerate(colors):
    inter_a += rectangle(h=side,w=side,fill=color,stroke=color,fill_opacity=0.3)|rotate(angle)|repeat(30,rotate(12))
    side -= 40
    angle += 5


def tinkerhub_logo():
    r1 = rectangle(w=105, h=50, fill='#2CC0CF', stroke='none', x=-45, y=70) 
    r2 = rectangle(w=50, h=50, fill='#2078F9', stroke='none', x=50, y=70)
    layer1 = r1 + r2
    layer2 = rectangle(w=175, h=50, fill='#FECD3D', stroke='none', x=-12, y=0) 
    r1 = rectangle(w=70, h=50, fill='#EE3C35', stroke='none', x=-65, y=-70) 
    r2 = rectangle(w=42, h=50, fill='#91BF23', stroke='none', x=0, y=-70) 
    r3 = rectangle(w=42, h=50, fill='#045768', stroke='none', x=52, y=-70) 
    layer_three = r1 + r2 + r3
    return combine([layer1, layer2, layer_three]) | scale(0.08) | translate(x=1)



c1 = circle(r=13,fill="white",stroke="none" )
logo = tinkerhub_logo()

show(outer)
show(inter_a|scale(0.7))



def concentric_circles(x, y, r, n,fill,stroke):
    
    step = r/n
    for i in range(n):
        c = circle(x=x, y=y, r=r,fill="#bf2247",stroke="#f2f202")
        show(c)
        r = r-step

w, h = 80, 80
r = 30
n = 10
fill="#bf2247"
stroke="#f2f202"

concentric_circles(0, 0, r, n,fill,stroke)

concentric_circles(w/2, h/2, r, n,fill,stroke)
concentric_circles(w/2, -h/2, r, n,fill,stroke)
concentric_circles(-w/2, h/2, r, n,fill,stroke)
concentric_circles(-w/2, -h/2, r, n,fill,stroke)


def concentric_circles(x, y, r, n,fill,stroke):
    
    step = r/n
    for i in range(n):
        c = circle(x=x, y=y, r=r,fill="#bf2247",stroke="#f2f202")
        show(c)
        r = r-step

w, h = 80, 80
r = 50
n = 10
fill="#bf2247"
stroke="#f2f202"

# concentric circles at the center of the canvas
concentric_circles(0, 0, r, n,stroke,fill)

# concentric circles at each corner
concentric_circles(2*w, 2*h, r, n,fill,stroke)
concentric_circles(2*w, -2*h, r, n,fill,stroke)
concentric_circles(-2*w, 2*h, r, n,fill,stroke)
concentric_circles(-2*w, -2*h, r, n,fill,stroke)


show(c1,logo)