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

Python turtle绘图如何实现六边形尺寸随绘制逐步增大

逐次增大六边形尺寸的实现方案

你当前代码无法实现六边形尺寸递增的核心问题有两个:

  • 绘制图形的drawLine函数完全没用到传入的length参数,所有边的绘制长度硬编码为固定值15,图形尺寸不会随循环次数变化
  • 原代码循环8次、每次转45度,实际画出来的是八边形,不符合正六边形的绘制规则:正六边形有6条等长边,每次转向的外角为60度

修改要点

  • 调整图形绘制逻辑:把硬编码的前进长度替换为传入的动态length参数,循环6次、每次转60度绘制正六边形
  • 保留奇偶序号图形转向相反的原有逻辑,保证交替排布的效果不变
  • 图形绘制完成后的平移距离和当前六边形边长匹配,保证排布间距均匀不会错位

参考效果

尺寸逐次递增的间隔排布六边形效果

修改后可直接运行的代码

import turtle
import math

def drawLine(num, length):
    # 奇偶位转向方向相反,维持交替排布效果
    turn_angle = 60 if num % 2 == 0 else -60
    for _ in range(6):
        turtle.forward(length)
        turtle.right(turn_angle)

def main():
    turtle.penup()
    turtle.goto(-300,0)
    turtle.speed(5)
    turtle.pensize(2)
    turtle.pendown()

    for x in range(40):
        current_length = 20 + 5 * x
        drawLine(x, current_length)
        # 平移距离和当前边长匹配,保证间距合理
        turtle.forward(current_length)
    turtle.hideturtle()

main()
input()

代码保留了你原本的函数名drawLine,不需要额外调整调用逻辑,直接替换原有代码即可运行。边长的递增步长设为5,你可以根据需求修改current_length = 20 +5 *x里的系数调整尺寸增长速度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:54:23