Code
c1 = circle(r=145,fill='#802967')
def s(color, side):
return rectangle(w=side, h=side, fill=color)
red=s(side=200,color='#b03002') | repeat(12, rotate(30))
orange=s(side=180,color='#e6750b') | repeat(12, rotate(30))
yellow=s(side=160,color='#fcf000') | repeat(12, rotate(30))
yell=s(side=140,color='#faff61') | repeat(12, rotate(30))
white=s(side=120,color='#fcfcf7') | repeat(12, rotate(30))
violet=s(side=100,color='#9d65eb') | repeat(12, rotate(30))
p1 = point(x=0, y=-12)
p2 = point(x=0, y=12)
p3 = point(x=115, y=0)
triangle_ring = polygon([p1, p2, p3], fill='#fcfcf7') |rotate(-3)| translate(x=30) | repeat(12,rotate(30))
p1 = point(x=0, y=-12)
p2 = point(x=0, y=12)
p3 = point(x=99, y=0)
triangle_ring2 = polygon([p1, p2, p3], fill='#fcf000') |rotate(-2.5)| translate(x=10) | repeat(12,rotate(30))
p1 = point(x=0, y=-12)
p2 = point(x=0, y=12)
p3 = point(x=70, y=0)
triangle_ring3 = polygon([p1, p2, p3], fill='#fc9403') |rotate(-2)| translate(x=5) | repeat(12,rotate(30))
def random_color():
r = random(255)
g = random(255)
b = random(255)
return color(r=r, g=g, b=b)
e=ellipse(h=20,w=50,fill=random_color())|translate (x=28)|repeat (12,rotate(30))
e2=ellipse(h=12,w=40,fill=random_color())|translate (x=25)|repeat (12,rotate(30))
e3=ellipse(h=10,w=20,fill=random_color())|translate (x=20)|repeat (12,rotate(30))
c2 = circle(r=55,fill='#0d4717')
c3 = circle(r=15,fill='#0d4717')
c4 = circle(r=9,fill=random_color())
c5= circle(r=4,fill='white')
show(c1,red,orange,yellow,yell,white,violet,triangle_ring,triangle_ring2,triangle_ring3,c2,e,e2,e3,c3,c4,c5)