from turtle import *
from math import *
from random import *
def AddC(c,Nc,L,H): # 随机添加坐标
    for k in Nc:
        d=sqrt((c[0]-k[0])*(c[0]-k[0])+(c[1]-k[1])*(c[1]-k[1]))
        if d<c[2]+k[2]:                             #半径重叠
            return 0
        if abs(c[0])+c[2]>L/2 or abs(c[1])+c[2]>H/2:#判断是否超过图形边界
            return 0
    return 1
def creat(N,L,H,Nc): # 创建圆坐标系
    for i in range (N):
        g=0
        while g==0:
            c=[]
            x=randint(-L/2,L/2)
            y=randint(-H/2,H/2)
            r=randint(2,20)                             #产生2-20半径的圆
            c.append(x)
            c.append(y)
            c.append(r)
            g=AddC(c,Nc,L,H)
        Nc.append(c)
        print(Nc)
    return Nc,g
def res(Nc): # 绘制每个圆
    for p in Nc:
        up()
        goto(p[0],p[1])
        down()
        circle(p[2])
def main():# 设置初始参数
    L = 800
    H = 600
    setup(L, H)
    pensize(1)
    hideturtle()
    speed(10)
    color('red')
    Nc = []
    N = 10
    print(N)
    Nc,g=creat(N,L,H,Nc)
    print(Nc)
    res(Nc)
main() # 主程序开始执行入口