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() # 主程序开始执行入口
python小项目实战:类定义函数 随机画圆
原创
©著作权归作者所有:来自51CTO博客作者奇点_python_nlp的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python函数详解(定义、参数、返回值、高级函数、偏函数、装饰器)
这是python中的基础系列中的关于函数部分,来开始我们今天日拱一卒!对python函数部分进行详细整理和学习。
python Python Python函数 Python装饰器 Python高级函数 -
FPGA实战小项目
基于fpga俄罗斯方块的实现基于fpga白平衡的实现基于fpga的目标跟踪(树叶)基于fpga数字0-9识别的实现
fpga开发 目标跟踪 俄罗斯方块 -
FPGA实战小项目2
基于FPGA的贪吃蛇游戏基于fpga的数字密码锁ego1基于fpga的数字时钟 basys3
fpga开发 FPGA 游戏 数字时钟 贪吃蛇 -
编程python怎么随机画圆
编程python怎么随机画圆
python 开发语言 ci Python 坐标轴 -
Python小项目:随机游走轨迹模拟并绘图
利用Python模拟随机游走,并画出游走轨迹!
python 随机游走