Code
def square(color, side):
return rectangle(w=side, h=side, fill=color, stroke="none")
# outter layer
outter_ring = circle(x=60, y=0, r=85, fill="#127681",
stroke="none") | (repeat(12, rotate(30)))
outter_layer_1 = square(side=200, color="#21174A") | repeat(
10, rotate(30)) | rotate(45)
outter_layer_2 = square(side=165, color="#FAC70B") | repeat(
10, rotate(30)) | rotate(90)
show(outter_ring, outter_layer_1, outter_layer_2)
# middle_layer
middle_ring = circle(r=97, fill="#DF0E62", stroke="none")
middle_layer_1 = square(side=136, color="#F1EA65") | repeat(3, rotate(30))
middle_layer_2 = square(side=123, color="#5DAE8B") | repeat(3, rotate(30))
middle_layer_3 = square(side=105, color="#52006A") | repeat(3, rotate(30))
middle_layer_4 = square(side=85, color="#D1016D") | repeat(5, rotate(30))
show(middle_ring, middle_layer_1, middle_layer_2, middle_layer_3, middle_layer_4)
# inner_layer
inner_layer_1 = circle(r=40, fill="#3B4A6B")
inner_layer_2 = circle(r=30, fill="#22B2DA")
petals = ellipse(w=80, h=10, fill="#F0D43A") | (
repeat(6, rotate(30))) | scale(0.7)
bud = circle(r=5, fill="#F23557", stroke="black", stroke_width=2)
show(inner_layer_1, inner_layer_2, petals, bud)