segunda-feira, 5 de outubro de 2009

Espirais

Num post recente falei do módulo cTurtle. De um modo simples era possível desenhar polígonos regulares. Mais um exemplo, muito simples, para desenhar espirais.

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!

1 comentário:

  1. Boa noite!
    Gostava que revisse o meu código para gerar espirais.
    http://programamais.blogspot.com/2009/12/espiral-em-python-modulo-cturlte.html

    ResponderEliminar