python画图

import turtle
import random

colors = ["red", "yellow", "blue", "green", "purple", "gold"]


def move(pos):
    t.penup()
    t.goto(pos)
    t.pendown()


def circular(l=100, color='black', pos=(0, 0)):
    move(pos)
    t.color(color)
    t.begin_fill()
    t.circle(l)
    t.end_fill()


def distance(p1, p2):
    d = ((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2) ** 0.5
    return d


def measure(pos, r):
    for c in circles:
        if distance(c[0], pos) <= c[1] + r:
            return False
    return True


turtle.setup(1620, 820)
turtle.screensize(1600, 800, bg="black")
t = turtle.Pen()
t.speed(0)

circles = []

while 1:
    l = random.randint(15, 40)
    color = random.choice(colors)
    x = random.randint(-785, 785)
    y = random.randint(-400, 370)
    if measure((x, y + l), l):
        circular(l=l, pos=(x, y), color=color)
        circles.append([(x, y + l), l])
        cnt = 0
    else:
        cnt += 1
    if cnt > 100000:
        break
print(len(circles))

turtle.done()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值