|
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.

Comentários
Comente só assim vamos crescer juntos!