如何修改Python Turtle代码将普通螺旋改为目标斐波那契螺旋
Python Turtle 斐波那契螺旋实现方案
斐波那契螺旋的绘制逻辑和你当前用的普通等角螺旋不同,它的每一段圆弧半径对应斐波那契数列的项,通过拼接多个90度的1/4圆弧实现效果。以下是修改后的可直接运行代码:
from turtle import Turtle, Screen t = Turtle() s = Screen() t.speed(0) def fibonacci_spiral(x, y, initial_unit, fib_count): # 生成斐波那契数列作为每段圆弧的半径 fib = [initial_unit, initial_unit] for _ in range(2, fib_count): fib.append(fib[-1] + fib[-2]) t.up() t.setpos(x, y) t.seth(0) t.down() # 逐段绘制90度圆弧 for radius in fib: t.circle(radius, 90) # 参数说明:起始坐标(x,y),初始单位长度,斐波那契数列项数 fibonacci_spiral(0, 0, 5, 15) s.exitonclick()
核心修改说明
- 替换了原代码中每次小角度转向、步长均匀递减的逻辑,改为每次绘制半径为斐波那契数的90度圆弧
- 可通过调整
initial_unit控制螺旋整体大小,调整fib_count控制螺旋的总长度 - 如果需要保留正方形边框辅助线,可以在绘制圆弧前补充正方形的绘制逻辑即可
内容的提问来源于stack exchange,提问作者iamjr15
相关产品推荐
相关产品推荐

