Code
#outer layer
c1 = circle(r=150,fill="#72147E",stroke="black")
show(c1)
r1 = rectangle (w=209,h=209,fill="#FA7E0A", stroke="#FA7E0A") | repeat (20,rotate(50))
r2= rectangle(w=192,h=192, fill="#FFF338",stroke="#FFF338")|rotate(15)| repeat(20,rotate(50))
r3= rectangle(w=178,h=178,fill="#F7F6DE",stroke="#F7F6DE")|repeat(20,rotate(50))
r4= rectangle(w=166,h=166,fill="white",stroke="white")|rotate(15)|repeat(20,rotate(50))
show(r1,r2,r3,r4)
#middle layer_out
c3 = circle(r=110,fill="#FA7E0A",stroke="black")
show(c3)
#middle layer_in
e2 = ellipse(w=20,h=220,stroke="#AC005D",fill="#AC005D")|repeat(30,rotate(12))
e3 = ellipse(w=15,h=180,stroke="#F85959",fill="#F85959")|repeat(30,rotate(12))
e4 = ellipse(w=15,h=140,stroke="#FEFF89",fill="#FEFF89")|repeat(30,rotate(12))
show(e2,e3,e4)
#inner layer
c5 = circle(r=50,fill="#FFF338",stroke="black")
c6 = circle(r=45,fill="#72147E",stroke="none")
show(c5,c6)
c7 = circle(r=20,fill="#F7F6DE")
show(c7)
p1 = point(x=5, y=0)
p2 = point(x=45, y=0)
p3 = point(x=25, y=10.5)
p4 = point(x=25, y=-10.5)
t1 = polygon([p1, p2, p3],fill="#F7F6DE", stroke="#F7F6DE")|repeat(8,rotate(45))
t2 = polygon([p1, p2, p4],fill="black")|repeat(8,rotate(45))
show(t1,t2)