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.
01.
import
cTurtle
02.
03.
def
espiral(comp_min, comp_max, passo, angulo):
04.
"""
05.
Desenho de espirais por justaposição de segmentos de recta que
06.
vão rodando de um certo ângulo. Assumo sentido crescente e rotação
07.
idêntica à dos ponteiros do rrelógio.
08.
"""
09.
cTurtle.down()
10.
for
segmento
in
range(comp_min, comp_max, passo):
11.
cTurtle.forward(segmento)
12.
cTurtle.right(angulo)
13.
cTurtle.up()
14.
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