任务描述:
在图形界面内,每个圆的圆心和半径随机生成,而且不能重叠,需要把每个圆的数据放入列表,新生成的圆要与已有的圆进行比对,即两个圆的圆心的举例必须大于两个圆的半径之和,而又不能超过图形边界。请编写程序,实现随机分布的圆的绘制。
输出:
20个随机分布,半径为2~20的圆。
分析:
利用turtle库中的图形绘制函数来完成圆的绘制。并且利用random库和math库中的函数,实现圆的圆心和半径的随机生成。每次新生成的圆的圆心坐标和半径都放入列表中
首先设定图形窗口为800*600,位于屏幕中心,如stup(800,600)。
假定生成20个圆
定义函数Addc(c),控制新生成的圆不与原有圆发生重叠,且不超出图形边界。
通过循环,在图形边界内,随机生成20个圆的圆心坐标,产生20个半径为2~20的随机圆,放置在列表c
最后通过turtle库中的up(), down(), goto(), crcl()函 数实现圆的绘制。
重要知识点:
(1) turtle 绘图基本操作相关函数的用法: up), down(), goto(), forward(), pencolor(), pensze), hideturtl(),done()等。
(2) 随机函数的用法。
(3) 循环结构在绘图中的运用。