You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:30:59