Matemática de uma forma animada
Matemática de uma forma animada
13/01/2020 Prof: Lucas Robert
Quando as ciências exatas e a arte se unem para produzir coisas incríveis.
Os filmes de animação evoluíram muito nos últimos anos. São muitas as técnicas utilizadas nesse campo e elas podem envolver o uso materiais diversos. Mas o principio básico de qualquer animação é o mesmo. Partindo de uma imagem inicial, o animador faz pequenas alterações nessa imagem e as coloca em sequência, para provocar a sensação de movimento.
Isso pode ser feito com modelos de massinha de modelar e fotografando seus movimentos quadro a quadro. Essa técnica é chamada stop motion.
Se você assistiu Frankenweenie, A Noiva Cadáver, O Estranho Mundo de Jack, O Fantástico Senhor Raposo, entre outros, você viu excelentes trabalhos em stop motion.
Também é comum ver esse princípio sendo usado nos chamados flipbooks.
Para chegar ao resultado esperado, o animador desenha sucessivas poses-chave de cada personagem. Depois, constrói as poses intermediárias que as conectam.
Quando os desenhos são colocados em sequência e folheamos as páginas do flipbook, vemos esse efeito de animação.
Modelagem de ambiente
Todo o ambiente de uma animação é construído através de um processo chamado modelagem, que nesse caso podemos entender como
a aplicação de modelos matemáticos e estatísticos e técnicas computacionais na construção de objetos digitais, que podem ou não ser animados.
Para exemplificar, vamos pegar um elemento bem simples de um ambiente: A grama.
Repare que toda folha de grama começa em um ponto, termina em outro ponto e tem uma inclinação.
Esse formato é muito similar a uma curva bem conhecida na matemática: a chamada parábola. Mais especificamente, um arco de parábola.
Ok, conseguimos descrever um elemento do ambiente através da matemática. Agora, como faço para armazenar essa informação no meu computador?
Eu posso fazer isso utilizando a equação de uma parábola, que será fácil para o computador entender. Mas não será nem um pouco agradável desenhar um gramado virtual usando várias equaçõezinhas diferentes.
A Pixar, uma das maiores empresas de animação do mundo, resolveu esse problema de um jeito muito simples. É possível obter uma parábola definindo apenas três pontos no espaço:
Dois deles informarão o ponto inicial e final da minha curva (no caso, da minha grama) e o terceiro ponto, informará a sua curvatura. Como você pode ver ao lado.
E, além desse arco parabólico, também podemos utilizar outros dois parâmetros para compôr o desenho: a espessura da folha de grama e a sua tonalidade.
E com essas 5 informações – a posição de três pontos no espaço, e mais dois parâmetros (de espessura e tonalidade) – o meu computador consegue armazenar a minha folha de grama.
Esse é o grande trunfo da modelagem: utilizar uma linguagem que possa ser entendida e manipulada tanto pelos artistas quanto pelos computadores.
De uma graminha para um gramado
Depois de construído o meu modelo de grama, eu preciso transformá-lo em um gramado cheio de folhas e que se movimente.
Para animar uma grama individualmente é preciso informar ao computador onde estará cada um dos três pontos de referência, em cada quadro da animação. E para que isso vire um gramado, eu apenas multiplico o número de folhas:
Folhas se movendo sincronizadas
É claro que esse conjunto de graminhas não está nem um pouco realista. Na vida real, as folhas de grama não se comportam da mesma forma, como se estivessem sincronizadas.
Folhas se movendo fora de sincronia Para resolver esse problema basta adicionar um parâmetro de atraso ao movimento de cada folhinha individual e, então, elas parecerão estar se movendo de modo aleatório (embora o movimento de vai-e-vem seja igual para todas).
Modelagem de personagens
A construção digital de personagens não é tão simples quanto a de gramas. Não é viável fazer um desenho com formas complexas usando arcos de parábola. É por isso que, para modelar personagens, é comum a utilização de uma técnica chamada sub-divisão.
Quadrado verde com pontos de referência em amarelo (vértices) e o formato de um sorriso no seu interior.
Vamos tentar desenhar uma boca sorrindo. Para isso, nós começaremos com uma figura geométrica que qualquer computador entende e manipula muito bem: o quadrado.
Você consegue, apenas movendo os quatro vértices desse quadrado, chegar ao formato de um sorriso (o mesmo que está dentro do quadrado, na cor cinza)?
Bom, é impossível fazer isso, porque o sorriso não tem pontas, nem retas, apenas curvas.
Processo de sub-divisão, transformando um quadrado em um octógono.
Vamos fazer o seguinte então:
Em primeiro lugar, nós marcamos o ponto médio de cada lado do quadrado (agora temos 8 pontos marcados).
Em seguida, arrastamos cada um desses 8 pontos para a direita, até a metade do caminho para chegar no próximo ponto (como vemos no gif ao lado).
Agora nós temos um octógono, que por ter o dobro de vértices, nos oferece mais possibilidades de montar algum desenho. Mas ainda assim não é o suficiente.
Sub-divisões consecutivas, transformando o que era um quadrado em um polígono de infinitos lados.
Vamos, então, repetir esse processo de novo, e de novo, e de novo. Até obter uma forma praticamente circular (que na verdade ainda é um polígono, mas agora de infinitos lados, ao invés dos 4 lados que tínhamos no início).
Agora, você tem uma espécie de círculo que pode ser definido com apenas 4 pontos. E ao movimentar esses pontos, nós poderemos, finalmente, tentar chegar no formato de sorriso que queríamos inicialmente:
Manipulação do polígono de infinitos lados usando os quadro pontos de referência.
Contorno de uma mão, inicialmente toda quadrada, passando pelo processo de sub-divisão.
É possível obter contornos diferentes, com outras possibilidades de formatos, partindo de figuras geométricas diferentes.
Além disso, também é possível criar mais pontos de referência para fazer desenhos mais complexos, como uma mão.
E, no final, basta apenas dizer ao computador para fazer esse processo de sub-divisão (marcar os pontos médios, arrastá-los para a direita, ligar os pontos – e repetir isso várias vezes) para transformar as retas e quadrados em curvas suaves, como mostra o gif.
Animação de personagens
Em uma animação virtual usa-se a mesma lógica de uma animação com flipbook ou stop motion. O animador movimenta um modelo digital criando várias poses sequenciais. Essas poses são interpretadas pelo computador, que as armazena na forma de números em uma planilha. E, a partir dessas poses-chave e através de uma ferramenta matemática chamada interpolação, o próprio computador preenche os quadros intermediários entre as poses-chave.
Animação do Senhor Incrível levantando pesos, do filme “Os Incríveis”
Embora esse “meio do caminho” seja facilmente preenchido por um computador, ele é essencial para a compreensão da cena.
Um computador, por padrão, completa esse meio do caminho por interpolação linear, com isso, o movimento de cada ponto se dá com uma velocidade constante. Mas na vida real as coisas não se movem sempre com a mesma velocidade.
Quando um corpo está caindo, por exemplo, ele começa com uma velocidade mais lenta e, devido à ação da gravidade, vai aumentando sua velocidade até chegar no chão. Se esse corpo for feito de um material com boa elasticidade, ele vai bater no chão e subir de novo. Se for uma bola de boliche, ela provavelmente vai bater e ficar no chão.
A maneira como um objeto se move diz muito sobre como ele é. Compare essas duas cenas protagonizadas pelo Senhor Incrível:
Na primeira, o trem é levantado com muita facilidade, indicando que: ou o Senhor Incrível é realmente muito forte, ou o trem nem é tão pesado assim. A segunda cena passa uma impressão totalmente diferente. Por mais forte que o Senhor Incrível seja, levantar esse trem não é uma tarefa tão fácil.
Por isso é muito importante que um profissional faça os ajustes necessários na interpolação feita pelo computador para gerar o efeito que deseja.
Como são feitas as multidões, como funciona uma câmera virtual, como inserir texturas, efeitos, cores, etc., o que é acontece no processo de renderização de uma animação?
Como podem ver, ainda existem muitos outros assuntos que podem ser abordados. Quem sabe num próximo post falamos disso?