# tk_concentric_circles_of_dots.py
import tkinter as tk
import math, random
root = tk.Tk()
root.geometry("600x600+0+0")
canvas = tk.Canvas(root, width=600, height=600, bg="white")
canvas.pack()
center_x = 300
center_y = 300
dot_radius = 3
spacing = 27
canvas.create_oval(center_x - dot_radius, center_y - dot_radius,
center_x + dot_radius, center_y + dot_radius,
fill="black")
max_radius = 420
r = spacing
while r <= max_radius:
circumference = 2 * math.pi * r
num_dots = max(6, int(circumference / spacing))
for i in range(num_dots):
angle = 2 * math.pi * i / num_dots
x = center_x + r * math.cos(angle) + random.randint(-5, 5)
y = center_y + r * math.sin(angle) + random.randint(-5, 5)
canvas.create_oval(x - dot_radius, y - dot_radius,
x + dot_radius, y + dot_radius,
fill="black")
r += spacing
root.mainloop()