Introdução
Neste laboratório, aprenderemos como criar uma imagem animada usando listas pré-computadas de imagens. Usaremos a biblioteca Matplotlib em Python para criar a animação. O objetivo deste laboratório é demonstrar o processo de criação de uma imagem animada e fornecer uma compreensão básica de como ela funciona.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar Bibliotecas
Para começar, precisamos importar as bibliotecas que usaremos. Usaremos a biblioteca Matplotlib para criar a animação e a biblioteca Numpy para gerar os dados para a animação.
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
Criar os Objetos Figura e Eixos
Em seguida, precisamos criar os objetos figura e eixos que usaremos para criar a animação. Usaremos o método subplots para criar esses objetos.
fig, ax = plt.subplots()
Definir a Função
Agora precisamos definir a função que usaremos para gerar os dados para a animação. Neste exemplo, usaremos as funções seno e cosseno para gerar os dados.
def f(x, y):
return np.sin(x) + np.cos(y)
Gerar os Dados
Usaremos o método linspace da biblioteca Numpy para gerar os dados para a animação. Geraremos dois conjuntos de dados, x e y, e então remodelaremos os dados y para criar um array bidimensional.
x = np.linspace(0, 2 * np.pi, 120)
y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)
Criar os Quadros da Animação
Agora criaremos os quadros para a animação. Usaremos um loop for para gerar 60 quadros. Em cada iteração do loop, atualizaremos os dados x e y e, em seguida, criaremos um novo objeto de imagem usando o método imshow. Em seguida, anexaremos o objeto de imagem à lista ims.
ims = []
for i in range(60):
x += np.pi / 15
y += np.pi / 30
im = ax.imshow(f(x, y), animated=True)
if i == 0:
ax.imshow(f(x, y)) ## show an initial one first
ims.append([im])
Criar a Animação
Agora criaremos a animação usando o método ArtistAnimation. Passaremos o objeto figure, a lista ims, o intervalo entre os quadros e o atraso de repetição.
ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True, repeat_delay=1000)
Exibir a Animação
Finalmente, usaremos o método show para exibir a animação.
plt.show()
Resumo
Neste laboratório, aprendemos como criar uma imagem animada usando listas de imagens pré-calculadas. Usamos a biblioteca Matplotlib em Python para criar a animação e a biblioteca Numpy para gerar os dados para a animação. Criamos os objetos figure e axes, definimos a função, geramos os dados, criamos os quadros da animação e criamos a animação. Em seguida, exibimos a animação usando o método show. Este laboratório forneceu uma compreensão básica de como criar uma imagem animada e demonstrou o processo de fazê-lo.