Pookkalam by Emil Titus

Code

l1 = circle(r=7, fill="crimson", stroke="none") + polygon([point(-7,0), point(7,0), point(0,15)], fill="crimson", stroke="none")

black = color(12,9,13)
red = color(224,26,79)
orange = color(241,89,70)
yellow = color(249,194,46)
blue = color(83,179,203) 

c1 = circle(r=130, fill=black)
pat1 = l1 | translate(y=130) | repeat(24, rotate(15)) 
 
shapes1 = []
colors1 = ["darkred", "firebrick", "red", "orangered", "darkorange",  "orange"]
for i, c in enumerate(colors1):
  shapes1.append(circle(r=i*(130//len(colors1)), stroke_width=130//len(colors1), stroke=c))

rect1 = rectangle(w=160,h=160, stroke="none", fill=color(241,89,70,0.75))
shapes1.append(rect1 | repeat(6, rotate(15)))
rect2 = rectangle(w=130,h=130, stroke="none", fill=color(83,179,203,a=0.75))
shapes1.append(rect2 | repeat(6, rotate(15)))

shapes1.append(circle(r=12, fill=yellow))

c2 = circle(r=35, x=-35, stroke=red) + circle(r=35, x=35, stroke=red)
pat2 = c2 | repeat(100,rotate(45)|scale(0.99))

e1 = ellipse(w=20, h=50, fill=color(224,26,79, 0.7), stroke="none") | translate(60) | repeat(8, rotate(45))
p1 = polygon([point(5,47),point(29,38),point(12.5,30)], stroke="none", fill=yellow)
pat3 = p1 + circle(17,42.5,r=5,stroke="none",fill=yellow)+circle(17,42.5,r=2,fill=black)|repeat(8, rotate(45))

c3 = circle(r=21,stroke=black, stroke_width=5)
show(c1, pat1, *shapes1, pat2, e1, pat3, c3)