Vou construir a dita de modo aproximado recorrendo a segmentos de recta que vão rodando. Neste caso é evidente que precisamos definir várias coisas:
- o comprimento do segmento inicial
- o comprimento do segmento final
- o ângulo de viragem
- se roda no sentido dos ponteiros do relógio ou não
- se a mudança de comprimento é crescente ou decrescente.
Vejamos o código.
import cTurtle
def espiral(comp_min, comp_max, passo, angulo):
"""
Desenho de espirais por justaposição de segmentos de recta que
vão rodando de um certo ângulo. Assumo sentido crescente e rotação
idêntica à dos ponteiros do rrelógio.
"""
cTurtle.down()
for segmento in range(comp_min, comp_max, passo):
cTurtle.forward(segmento)
cTurtle.right(angulo)
cTurtle.up()
cTurtle.hideturtle()
Com a chamada espiral(10,150,5,90) obtemos a figura:
Mas se usarmos outros valores, como espiral(5,50,2,33), o desenho será outro:
Divirta-se!
Boa noite!
ResponderEliminarGostava que revisse o meu código para gerar espirais.
http://programamais.blogspot.com/2009/12/espiral-em-python-modulo-cturlte.html