私は非常によく似た課題を持っていたので、簡単な方法で解決しようとしました:
import tkinter
import random
canvas = tkinter.Canvas(width = 300, height = 200, bg = "white")
canvas.pack()
n = 500
for i in range(n):
x = random.randrange(0, 300)
y = random.randrange(0, 200)
bod = canvas.create_oval(x+3, y+3, x-3, y-3, fill = "black")
if (x - 100)**2+(y - 100)**2 < 80**2: #for dot in circle1 fill red
canvas.itemconfig(bod, fill = "red")
if (x - 180)**2+(y - 100)**2 < 90**2: #for dot in circle2 fill blue
canvas.itemconfig(bod, fill = "blue")
if (x - 100)**2+(y - 100)**2 < 80**2 and (x - 180)**2+(y - 100)**2 < 90**2:
canvas.itemconfig(bod, fill = "green") #overlapping of circle1 and 2