Neste post vamos aprender a fazer desenhos simples usando a linguagem de programação Python e módulo Turtle Graphics. O Turtle Graphics foi desenvolvido com o objetivo de ensinar programação de uma forma mais fácil e amigável.
Será utilizado o Python 3.8.10 para executar os nossos códigos.
Para usar o Turtle Graphics precismos importar o módulo turtle e em seguida instanciar um objeto Screen, como mostrado abaixo:
import turtle
s = turtle.Screen()
Executando essas linhas de código será possível notar que vai aparecer uma nova janela com o fundo o branco, onde será a região onde serão feitos nossos desenhos.
Para começar a desenhar precisamos adicionar tartarugas em nossa folha, e para cada uma inserir instruções indicando o que cada uma deve fazer, se deve abaixar o lápis e desenhar ou levantar a caneta e seguir para um determinado local em nossa folha.
Para iniciar uma tartaruga devemos executar o seguinte comando:
myTurtle = turtle.Turtle()
Para começar a desenhar e para usar os recursos do Turtle Graphics precismos conhecer melhor alguns métodos e classes disponíveis, que vai nos permitir desenhar, na tabela abaixo são apresentados os principais comandos para ser utilizado com o Turtle Graphics.
t.forward (distância) | Move a tartaruga para frente |
t.left (ângulo) | Gira a tartaruga para esquerda de acordo com o ângulo em graus |
t.right (ângulo) | Gira a tartaruga para esquerda de acordo com o ângulo em graus |
t.undo () | Desfaz um movimento |
t.goto (x, y) | Move a tartaruga para as coordenadas definidas |
t.setx (x) | Define a primeira coordena como x |
t.sety (y) | Define a primeira coordena como y |
t.circle (raio) | Desenha um círculo com o raio indicado |
t.circle (raio, ângulo) | Desenha apenas um arco |
t.dot (diâmetro, cor) | Desenha um ponto com diâmetro e cor definidos |
t.penup () | Levanta a caneta e não desenha mais quando acontece algum movimento da tartaruga |
t.pendown () | Abaixa a caneta e desenha quando a tartaruga se movimenta |
t.pensize (largura) | Define a espessura da linha da caneta como largura |
t.pencolor (cor) | Define a cor da caneta. |
Com isso já podemos começar a desenhar com o Python e módulo Turtle Graphics.
Desenhando um quadrado
Vamos desenhar um quadrado, com lado 100 pixels, para isso vamos executar o seguinte código:
import turtle
s = turtle.Screen()
myTurtle = turtle.Turtle()
myTurtle.pendown () # Abaixa a caneta para começar a desenhar
myTurtle.forward (100) # Vai 100 pixels para frente
myTurtle.left (90) # Gira 90º
myTurtle.forward (100) # Vai 100 pixels para frente
myTurtle.left (90) # Gira 90º
myTurtle.forward (100) # Vai 100 pixels para frente
myTurtle.left (90) # Gira 90º
myTurtle.forward (100) # Vai 100 pixels para frente
myTurtle.left (90) # Gira 90º
myTurtle.screen.mainloop()
Observem no código acima que foram utilizados as mesmas linhas, ou os mesmos comandos 4 vezes, podemos utilizar um laço for para desenhar o quadrado e deixar o nosso código mais elegante, como mostrado abaixo:
import turtle
s = turtle.Screen()
myTurtle = turtle.Turtle()
myTurtle.pendown () # Abaixa a caneta para começar a desenhar
for i in range (0, 4):
myTurtle.forward (100) # Vai 100 pixels para frente
myTurtle.left (90) # Gira 90º
myTurtle.screen.mainloop()
Abaixo é mostrado o desenho obtido com módulo Turtle Graphics.
Até agora foi feito um desenho bem simples, de um quadrado, vamos tentar fazer algo um pouco mais complexo, e ao invés de usar apenas uma tartaruga, vamos criar várias tartarugas e tentar fazer um desenho um pouco mais complexo.
Desenhando vários quadrados com Python e módulo Turtle Graphics
Para este exemplo vamos usar um comando que não está especificado na tabela de comandos do módulo Turtle Graphics, que é comando myTurtle.setheading (ângulo), que define a orientação inicial da tartaruga.
Com isso vamos desenhar vários quadrados e fazer uma chamada de todas as tartarugas, como mostrado no código abaixo:
import turtle
s = turtle.Screen()
myTurtle_A = turtle.Turtle()
myTurtle_B = turtle.Turtle()
myTurtle_C = turtle.Turtle()
myTurtle_D = turtle.Turtle()
myTurtle_A.setheading(0)
myTurtle_B.setheading(45)
myTurtle_C.setheading(90)
myTurtle_D.setheading(135)
myTurtle_A.pendown () # Abaixa a caneta para começar a desenhar
myTurtle_B.pendown () # Abaixa a caneta para começar a desenhar
myTurtle_C.pendown () # Abaixa a caneta para começar a desenhar
myTurtle_D.pendown () # Abaixa a caneta para começar a desenhar
for i in range (0, 4):
myTurtle_A.forward (100) # Vai 100 pixels para frente
myTurtle_A.left (90) # Gira 90º
for i in range (0, 4):
myTurtle_B.forward (100) # Vai 100 pixels para frente
myTurtle_B.left (90) # Gira 90º
for i in range (0, 4):
myTurtle_C.forward (100) # Vai 100 pixels para frente
myTurtle_C.left (90) # Gira 90º
for i in range (0, 4):
myTurtle_D.forward (100) # Vai 100 pixels para frente
myTurtle_D.left (90) # Gira 90º
myTurtle_D.screen.mainloop()
O resultado obtido é mostrado na figura abaixo:
Podemos fazer outros desenhos, usar cores e muito mais apenas com comandos python e módulo Turtle Graphics. O objetivo foi apresentar uma introdução e com um pouco de tempo e paciência é possível fazer muitas coisas usando python, e se divertir aprendendo a programar.
Referências bibliográficas:
Perkovic, Ljubomir
Introdução à computação usando Python: um foco no desenvolvimento de aplicações / Ljubomir Perkovic; tradução Daniel Vieira. – 1: ed. – Rio de Janeiro: LTC, 2016 il, 28 cm.