Pookkalam by Aravind S

Code

# for creating squares
def square(s, fill):  
    return rectangle(w=s, h=s, fill=fill, stroke='none')

# for creating isosceles triangles
def triangle(p1, p2, p3, fill):
    return polygon([p1, p2, p3], fill=fill, stroke='none')

# starting from the external layer
# yellow circle
base_circ = circle(r=150,fill="#FFD600",stroke="none")
# orange circle
inn_circ = circle(r=141,fill="#e89425",stroke="none")
show(base_circ,inn_circ)

# outer floral pattern
rep_sq1 = square(s=199,fill="#FFCA28")|repeat(6,rotate(18)) #yellow
rep_sq2 = square(s=199,fill="#EF6C00")|rotate(9)|repeat(6,rotate(18)) #orange
show(rep_sq1,rep_sq2)

# inner floral pattern
rep_sq3 = square(s=170,fill="#fb4320")|repeat(6,rotate(18)) #red
rep_sq4 = square(s=170,fill="#FFAB00")|rotate(9)|repeat(6,rotate(18)) #golden
show(rep_sq4,rep_sq3)

# one more inner layer of circle (orange)
show(circle(r=103,fill="#ff8555",stroke="none"))

# circular floral pattern (3 colours + stroke)
e = circle(r=40,x=31,y=44,fill="#FFCA28",stroke="#FFECB3") + circle(r=34.5,x=31,y=44,fill="#FFA000",stroke="none")
show(e|repeat(6,rotate(60))|rotate(8))
show(circle(r=29.5,x=31,y=44,fill="#F57C00",stroke="none")|repeat(6,rotate(60))|rotate(8))

# triangular floral pattern (4 layers)
t1=triangle(p1=point(0,102),p2=point(60,52),p3=point(-60,52),fill="#fb4333") #red
t2=triangle(p1=point(0,92),p2=point(60,42),p3=point(-60,42),fill="#eb64a3") #pink
t3=triangle(p1=point(0,82),p2=point(60,32),p3=point(-60,32),fill="#ef90bd") #rose
t4=triangle(p1=point(0,77),p2=point(60,27),p3=point(-60,27),fill="#7e57c2") #purple
show(t1|repeat(6,rotate(60)),t2|repeat(6,rotate(60)),t3|repeat(6,rotate(60)),t4|repeat(6,rotate(60)))

# kolumittayi design (rose)
show(line(x1=0,y1=82,x2=0,y2=52,stroke="#ef90bd",stroke_width=2.3)+circle(r=4,x=0,y=50,fill="#ef90bd",stroke="none")|repeat(6,rotate(60)))

#yet another inner circle (red)
show(circle(r=39,fill="#f6544f",stroke="none"))

#ellipses and sqaures repeated to produce a design I haven't named yet
show(ellipse(h=74,w=36,fill="#FFB300",stroke="none")|repeat(3,rotate(120)))
show(rectangle(x=0,y=0,h=19.5,w=19.5,fill="#fb4320",stroke="none")|rotate(45)|translate(y=21)|repeat(6,rotate(60)))

# some innermost circles
show(circle(r=11.6,fill="#C62828",stroke="none"))
show(circle(r=9,fill="#FCE4EC",stroke="none"))
show(circle(r=7,fill="#BA68C8",stroke="none"))
show(circle(r=4,fill="#9C27B0",stroke="none"))