Code
#---corner circles----
def concentric_circles(x, y, r, n):
step = r/n
for i in range(n):
c = circle(x=x, y=y, r=r,stroke="white",fill="#D2691E")
show(c)
r = r-step
w, h = 300, 300
r = 150
n = 150
concentric_circles(w/2, h/2, r, n)
concentric_circles(w/2, -h/2, r, n)
concentric_circles(-w/2, h/2, r, n)
concentric_circles(-w/2, -h/2, r, n)
#---outter circle---
c=circle(r=150,fill="black")
show(c)
#---inner circle---
s = rectangle(x=100, y=0, w=25, h=25)
s = circle(x=140, y=0, r=10,fill="#FF4500")
s1 = s | repeat(20, scale(0.85))
s2 = s1 | repeat(36, rotate(10))
show(s2)
#---orange dot---
def dot(x, y):
return circle(x=x, y=y, r=5, fill="#FF4500",stroke_width="1")
#---inner repeating circle---
def dotted_circle(x, y, r, dot_location):
c = circle(x=x, y=y, r=r,stroke="white",stroke_width="1.5")
if dot_location == "center":
d = dot(x=x, y=y)
elif dot_location == "bottom":
d = dot(x=x, y=y-r)
return c + d
c1 = dotted_circle(x=0, y=0, r=25, dot_location="center")
c3 = dotted_circle(x=0, y=-75, r=25, dot_location="bottom") | repeat(36,rotate(10))
show(c1, c3)
x, y = 0, 0
outer_radius = 155
n = 10
# the difference in the radius of two consequetive circles
step = outer_radius/n
r = step
# we start with drawing the inner circle first and then keep on drawing
# the next outer circle and so on
for i in range(n):
c = circle(x=x, y=y, r=r,stroke="white")
show(c)
r = r+step