import turtle import math t=turtle.Turtle()t.speed(0)t.hideturtle()# 画布设置,让图形居中 screen=turtle.Screen()screen.setup(width=800,height=800)screen.bgcolor("white")screen.title("等距嵌套三角形")defdraw_triangle(size):"""绘制一个边长为size、中心在原点的等边三角形"""h=size*math.sqrt(3)/2# 等边三角形的高 # 定位到三角形左下角顶点(中心在(0,0)时的坐标) t.penup()t.goto(-size/2,-h/3)t.setheading(0)# 朝右 t.pendown()# 绘制三条边for_ inrange(3):t.forward(size)t.left(120)# 🔧 核心参数(可根据需要调整) max_size=400# 最大三角形边长(对应最外层) min_size=5# 最小三角形边长(对应最内层) num_layers=53# 总层数(控制线条疏密,越大越密) # 🎯 计算等距步长(等差数列,保证间距完全相等) # 等边三角形的高=边长 × √3/2max_h=max_size*math.sqrt(3)/2min_h=min_size*math.sqrt(3)/2total_h_diff=max_h-min_h # 总高度差 # 每层高度差相等 → 边长差也相等 h_step=total_h_diff/(num_layers-1)size_step=h_step/(math.sqrt(3)/2)# 边长步长 # 🚀 从内到外绘制:先画最小的,再依次画更大的 current_size=min_sizefor_ inrange(num_layers):draw_triangle(current_size)current_size+=size_step # 等距递增,实现均匀间距 turtle.done()