当前位置: 首页 > 开发者资讯

如何用python的turtle画同心圆?

  在Python中,使用turtle模块可以很方便地绘制各种图形,包括同心圆。函数内部,使用了一个循环来绘制每个同心圆,每次循环都调用circle方法来绘制一个圆,然后抬起笔移动到下一个圆的中心位置。下面是一个示例代码,展示了如何使用turtle模块来绘制同心圆。

  如何用python的turtle画同心圆?

  方法一:固定半径间隔的同心圆

  pythonimport turtle# 初始化画布和画笔screen = turtle.Screen()pen = turtle.Turtle()pen.speed(5) # 设置绘制速度(1-10)# 绘制5个同心圆,半径间隔30for radius in range(30, 180, 30): # 从30开始,步长30,到180结束pen.penup()pen.goto(0, -radius) # 移动到当前圆的起始点(圆心正下方)pen.pendown()pen.circle(radius) # 绘制圆# 结束绘制pen.hideturtle()screen.mainloop()

如何用python的turtle画同心圆.jpg

  方法二:自定义圆心位置和颜色

  pythonimport turtledef draw_concentric_circles(x, y, colors, radii):"""在指定坐标绘制多个同心圆Args:x, y: 圆心坐标colors: 每个圆的颜色列表radii: 每个圆的半径列表"""pen = turtle.Turtle()pen.speed(0) # 最快速度for color, radius in zip(colors, radii):pen.penup()pen.goto(x, y - radius) # 移动到起始点pen.pendown()pen.color(color)pen.circle(radius)pen.hideturtle()# 设置画布screen = turtle.Screen()screen.bgcolor("white")# 调用函数(圆心在(0,0),颜色为红绿蓝,半径50/100/150)draw_concentric_circles(0, 0, ["red", "green", "blue"], [50, 100, 150])screen.mainloop()

  关键点说明:

  坐标控制:goto(x, y-radius)将画笔移动到圆的最下方作为起始点,确保圆心对齐

  循环绘制:通过循环动态调整半径,轻松实现多个同心圆

  样式自定义:可自由设置颜色、线宽(pen.width())、填充(begin_fill()/end_fill())

  性能优化:speed(0)为最快绘制速度,适合批量绘制

  扩展建议:

  添加动画效果:在循环中加入time.sleep()实现逐个显示

  交互式输入:用input()让用户输入圆心坐标和半径参数

  艺术创作:结合随机模块生成随机颜色和位置的圆形图案

  这两种方法分别展示了基础实现和函数封装的高级用法,可根据需求选择使用。使用Python的turtle模块绘制同心圆,核心是通过循环控制半径和画笔位置。首先导入模块并创建画布,然后设置画笔速度。关键步骤是:用penup()抬起画笔避免移动时划线,通过goto将画笔定位到当前圆的起始点,再用pendown()和circle(radius)绘制圆。循环调整半径值即可绘制多个同心圆。


猜你喜欢