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

使用Python turtle绘制居中堆叠逐次放大三角形时左移问题求解

等边三角形居中堆叠绘制修正方案

偏移原因

现有代码绘制完单个三角形后的移动逻辑存在缺陷:仅沿固定角度平移了当前边长的距离,既没有保证每层三角形的水平中心点对齐,也没有补偿等边三角形的高度偏移,最终导致从第二层开始整体左偏。

修改后可直接运行的代码

from turtle import *
import math

number_of_shapes = 4
side_step = 20  # 每层三角形的边长增量

for shape in range(1, number_of_shapes + 1):
    current_side = shape * side_step
    # 单次循环绘制单个等边三角形
    for _ in range(3):
        forward(current_side)
        left(120)
    
    # 移动到下一层三角形的正确起始位置
    penup()
    backward(side_step / 2)  # 左移半个增量,保证水平居中
    right(90)
    forward(side_step * math.sqrt(3) / 2)  # 下移对应高度,保证垂直对齐
    left(90)
    pendown()

done()  # 阻止绘图窗口自动关闭

核心修改说明

  • 统一用side_step管理边长增量,后续调整缩放比例只需修改该变量即可
  • 新的移动逻辑保证所有三角形的底部中点完全重合,天然满足居中对齐要求
  • 保留了原需求中单次循环完成单个三角形绘制的逻辑,没有改动绘制部分的核心代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:48:03