![]() |
Python - Usando Turtle para Animar um Girassol | |
Canal Qb |
Introdução
Este artigo apresenta um exemplo prático de código em Python utilizando a biblioteca Turtle para desenhar e animar um girassol na tela. A biblioteca Turtle é amplamente utilizada para ensino de programação visual, sendo ideal para quem deseja aprender conceitos básicos e avançados de Python de forma divertida.
Como funciona o código
O código cria uma tartaruga chamada caneta
, que tem sua forma e cor definidas para facilitar a visualização. A velocidade da tartaruga é ajustada para o máximo (0) para que o desenho aconteça rapidamente. A seguir, uma função chamada desenhar_girassol
é definida para construir o girassol com base em parâmetros como número de sementes, número de pétalas, ângulo de rotação e dispersão.
Esta função preenche o fundo com cor laranja, representando o centro do girassol, e desenha as sementes e pétalas de acordo com os parâmetros passados. Para desenhar cada pétala individualmente, é usada a função desenhar_petala
.
Por fim, o girassol é desenhado chamando a função com valores específicos, e a tartaruga é ocultada para um visual mais limpo.
Comandos principais utilizados
turtle.title("Desenhar Girassol")
: define o título da janela do Turtle.caneta = turtle.Turtle()
: cria uma nova tartaruga chamada "caneta".caneta.shape("turtle")
: define o cursor da tartaruga.caneta.color("black")
: define a cor da caneta como preta.caneta.speed(0)
: define a velocidade da tartaruga como máxima.def desenhar_girassol(t, numsementes, numpetalas, angulo, espalahar):
define a função principal do girassol.t.fillcolor("orange")
: define a cor de preenchimento.t.stamp()
: carimba a forma da tartaruga na tela, usada para as sementes.desenhar_petala(t)
: chama a função para desenhar uma pétala.t.begin_fill()
et.end_fill()
: delimitam a área de preenchimento das pétalas.caneta.hideturtle()
: oculta o cursor da tartaruga após o desenho.
Exemplo completo do código
import turtle import math turtle.title("Desenhar Girassol") caneta = turtle.Turtle() caneta.shape("turtle") caneta.color("black") caneta.speed(0) def desenhar_petala(t): t.fillcolor("yellow") t.begin_fill() t.right(20) t.forward(70) t.left(40) t.forward(70) t.left(140) t.forward(70) t.left(40) t.forward(70) t.end_fill() def desenhar_girassol(t, numsementes, numpetalas, angulo, espalahar): t.fillcolor("orange") val_pi = angulo * (math.pi / 180.0) for i in range(numsementes + numpetalas): r = espalahar * math.sqrt(i) teta = i * val_pi x = r * math.cos(teta) y = r * math.sin(teta) t.penup() t.goto(x, y) t.setheading(i * angulo) t.pendown() if i < numsementes: t.stamp() else: desenhar_petala(t) # Função para animar as pétalas do girassol def animar_petalas(t, num_animacoes): for i in range(num_animacoes): t.clear() # Apaga o desenho anterior desenhar_girassol(t, 160, 40, 137.508, 4) t.right(10) # Rotaciona a tartaruga turtle.update() # Atualiza a janela gráfica desenhar_girassol(caneta, 160, 40, 137.508, 4) caneta.hideturtle() animar_petalas(caneta, 100)
Detalhes técnicos e explicações adicionais
O ângulo 137.508
graus é usado para criar a disposição das sementes que imitam o padrão natural de flores como o girassol, baseado na proporção áurea. Esse padrão permite que as sementes fiquem distribuídas uniformemente no centro da flor.
O método stamp()
cria marcas circulares que representam as sementes, enquanto as pétalas são desenhadas com uma combinação de movimentos da tartaruga para simular a forma curva e preenchida das pétalas reais.
A função animar_petalas
utiliza um loop para redesenhar o girassol e rotacionar o desenho em pequenos incrementos, criando uma animação suave das pétalas.
Conclusão
Este projeto é uma ótima forma de aprender programação gráfica em Python com a biblioteca Turtle, combinando matemática, animação e criatividade. É uma base sólida para explorar projetos mais complexos de gráficos vetoriais e animações.