如何创建一个分形螺旋Python与乌龟?

2024-04-30 01:52:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个python程序,用用户输入绘制分形螺旋。在

我也看过其他与我的问题非常相似的问题,但它并不能给我我想要的,我不断收到错误信息。在

这就是我所尝试的:

a = int(input("Size? "))
b = int(input("Angle? "))
c = int(input("How many times do you want to repeat? "))

from turtle import *

def fractalSpiral(size, angle, amount):
  for i in range(amount):
    forward(size)
    left(angle)
    forward(size + 50)
    left(angle + 10)

fractalSpiral(a, b, c)

通过输入a = 50b = 60,和c = 9,我得到了附件中的形状,它看起来像一个分形螺旋。在

我能帮个忙吗?enter image description here

enter image description here


Tags: 用户程序inputsize绘制leftamountint
1条回答
网友
1楼 · 发布于 2024-04-30 01:52:48

从我在第二张图中看到的,你想要一个由三角形构成的形状,每个三角形都比前一个大一点,而且角度也有点不同。我想我会用埃及3:4:5的三角形,然后想到了这个:

def spiral(step, angle, max):                                                                                           
    for i in range(0, max, step):                                                                                       
        turtle.forward(i*3)                                                                                             
        turtle.left(126.87)                                                                                             
        turtle.forward(i*5)                                                                                             
        turtle.left(143.2)                                                                                              
        turtle.forward(i*4)                                                                                             
        turtle.left(90 + angle)

现在您可以使用这些参数来获得您满意的结果。如果你想要一个不同的三角形,你需要用三角法重新计算它的角度。记住要得到α角,你需要把乌龟旋转180度。在

相关问题 更多 >