如何使用turtle库将绘制的花朵居中至(0,0)坐标点?
解决Python Turtle绘制花朵不居中的问题
你的代码中花朵偏移的核心原因是:每次绘制半圆后,海龟停留在半圆的终点,下一个花瓣从该位置开始绘制,导致整体图形偏离(0,0)中心。要让花朵中心落在初始位置,需确保每个花瓣的绘制都以(0,0)为对称基点。
修正后的代码
import turtle turtle.speed(-1) def Flower(radius, num_of): petal_radius = radius * 3.5 / num_of for i in range(num_of): # 每次绘制前回到中心(0,0) turtle.penup() turtle.goto(0, 0) turtle.pendown() # 调整朝向,让半圆的直径沿径向方向,确保对称中心在(0,0) turtle.setheading(i * 360 / num_of + 90) # 绘制半圆花瓣 turtle.circle(petal_radius, 180) radius = 50 num_of = 10 Flower(radius, num_of) turtle.done()
关键调整说明
- 强制回到中心:每次循环通过
turtle.goto(0, 0)让海龟回到初始位置,避免上一个花瓣的终点影响下一个花瓣的起点 - 调整绘制朝向:将heading设置为
i * 360/num_of + 90,使半圆的直径正好沿着当前花瓣的径向方向,保证每个花瓣的对称点落在(0,0) - 简化代码:移除了未使用的
math库导入
内容的提问来源于stack exchange,提问作者Prateek Panwar
相关产品推荐
相关产品推荐

