O módulo cTurtle permite controlar uma tartaruga e a sua caneta que se movimentam numa tela.Em relação à caneta podemos levantá-la (up()) ou baixá-la (down()). Em relação à tartaruga podemos fazer várias coisas: torná-la visível (showturtle()) ou invisível (hideturtle()), controlar a sua orientação (setheading(angulo)), posicioná-la na tela (goto(pos)), entre outras coisas. Podemos ainda fazê-la caminhar para a frente (fiorward(valor)) ou para trás (backward(valor)), rodar para a direita (right(valor)) ou para a esquerda (left(valor)). Para conhecer tudo deve-se importar o módulo e inspeccionar o seu conteúdo com os comandos dir(cTurtle) e com help(cTurtle.nome_do_comando) .
Com comandos tão simples é possível fazer muitos desenhos e animações. Vejamos como se desenha uma espiral semelhante à da figura.

Para isso vamos definir uma função que desenha um quadrado com o canto inferior esquerdo numa dada posição, com uma orientação inicial bem definida e com um certo comprimento para o lado. uma vez isso concretizado, é fácil desenhar a espiral desenhando sucessivos quadrados em que o lado vai aumentando e o mesmo se passando com a orientação inicial.
01.
import
cTurtle
02.
03.
def
quadrado(lado,pos, angulo):
04.
"""
05.
Desenha um quadrado com o comprimento de lado, o vértice inferior
06.
esquerdo em pos e direção inicial angulo.
07.
"""
08.
# Preparação
09.
cTurtle.up()
10.
cTurtle.goto(pos)
11.
cTurtle.setheading(angulo)
12.
cTurtle.down()
13.
14.
# desenha quadrado
15.
for
conta
in
range(
4
):
16.
cTurtle.forward(lado)
17.
cTurtle.right(
90
)
18.
cTurtle.hideturtle()
19.
20.
def
espiral(num_quad, lado_inic, incr_lado, pos, angulo_inic, incr_angulo):
21.
"""
22.
Desenha uma espiral de quadrados.
23.
"""
24.
lado
=
lado_inic
25.
angulo
=
angulo_inic
26.
for
i
in
range(num_quad):
27.
quadrado(lado, pos, angulo)
28.
lado
=
lado
+
incr_lado
29.
angulo
=
angulo
+
incr_angulo
30.
31.
cTurtle.mainloop()
Descubra o modo como se alterou a cor. Pode também alterar, por exemplo, a forma da tartaruga, a velocidade a que o desenho é feito, e muitas mais coisas.
Sem comentários:
Enviar um comentário