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

如何用turtle绘制嵌套正多边形?现有代码输出不符预期求修正

修正Python Turtle绘制嵌套正多边形的代码

原代码因固定边长、绘制后未回归中心,导致多边形偏移且大小随边数增加而缩小,无法形成同心嵌套效果。以下是修正后的代码:

import turtle
import math

tr = turtle.Turtle()
tr.speed(0)  # 加快绘制速度

radius = 80  # 统一外接圆半径,确保所有多边形顶点在同一圆上

for n in range(3, 13):
    tr.penup()
    tr.goto(0, 0)  # 每次绘制前回到中心原点
    tr.pendown()
    # 根据外接圆半径计算正n边形的边长
    side_length = 2 * radius * math.sin(math.pi / n)
    # 调整起始角度,让多边形顶部对齐正上方
    tr.setheading(90 - (360 / n) / 2)
    for _ in range(n):
        tr.forward(side_length)
        tr.left(360 / n)

turtle.done()

修正说明:

  • 统一外接圆半径:通过计算不同边数正多边形的边长,确保所有多边形的顶点都落在同一个圆上,形成整齐的嵌套效果。
  • 回归中心绘制:每次绘制新多边形前,让海龟回到原点,避免位置偏移。
  • 对齐起始角度:调整海龟初始朝向,让每个多边形的顶部顶点指向正上方,视觉上更规整。
  • 加快绘制速度:设置speed(0)提升绘制效率,减少等待时间。

内容的提问来源于stack exchange,提问作者Mehrad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:50:44