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.

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!

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