Python turtle库实现绘制居中上下堆叠等边三角形的方法
使用Python turtle绘制垂直居中、上下堆叠等边三角形的方案
你提供的参考代码实现的是左侧对齐的三角形堆叠,要实现垂直居中效果,需要调整每次绘制前的水平坐标,保证所有三角形的中线重合。
核心逻辑说明
- 等边三角形的高度计算公式为
边长 * (√3 / 2),垂直方向每次移动当前三角形的高度即可实现无重叠堆叠 - 每次绘制前将画笔的x坐标设置为负的当前边长的一半,即可让三角形的中线和画布y轴重合,实现水平居中
完整实现代码
import turtle # 配置参数,可按需修改 NUMBER_OF_SHAPES = 4 SIDE_LENGTH_BASE = 20 DRAW_SPEED = 2 pen = turtle.Turtle() pen.speed(DRAW_SPEED) for shape_num in range(1, NUMBER_OF_SHAPES + 1): current_side_len = SIDE_LENGTH_BASE * shape_num # 调整画笔位置到当前三角形的居中起始点 pen.penup() pen.setx(-current_side_len / 2) pen.pendown() # 绘制等边三角形 for _ in range(3): pen.forward(current_side_len) pen.left(120) # 移动到下一个三角形的绘制起始位置 pen.penup() # 向上移动当前三角形的高度,实现上下堆叠 pen.sety(pen.ycor() + current_side_len * (3 ** 0.5) / 2) pen.pendown() turtle.done()
参数调整说明
- 修改
NUMBER_OF_SHAPES即可调整堆叠的三角形总数量 - 修改
SIDE_LENGTH_BASE即可调整三角形的整体大小比例 - 修改
DRAW_SPEED可以调整绘制速度,数值越大速度越快,设置为0时是最快速度
内容的提问来源于stack exchange,提问作者Dude
相关产品推荐
相关产品推荐

