Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Criar e Animar um Girassol em Python com Turtle – Guia Completo

#Python; #TurtleGraphics; #ProgramaçãoEducacional
@CanalQb 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() e t.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.

Referências

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo