O que é uma animação?

Uma animação é composta por alguma propriedade cujo valor se altera ao longo do tempo. Por exemplo, se um objeto está em uma posição em um momento e vai se movimentando em alguma direção, temos uma animação. Mas também se ele começa com uma cor e ela vai se alterando, também temos uma animação. Tipo estes dois exemplos:

Aqui ↑, a posição x do quadrado começa em 0 e vai até 300 ao longo de um tempinho. Já aqui ➚, a cor inicial do círculo é azul e a final é amarela.

Basicamente, qualquer característica de um objeto que pode ser quantificada pode ter seu valor alterado ao longo do tempo, produzindo uma animação. Outro exemplo é o tamanho de um objeto.

A alteração dessas propriedades ocorre ao longo de um tempo definido para sua duração. Nestes exemplos, a animação tem duração de 5s. Apesar de cada animação poder ter uma duração diferente, é bem útil usar uma variável t, que vai de 0 até 1 e indica a porcentagem de conclusão da animação - independente da sua duração em segundos.

À direita podemos ver um círculo que, no tempo zero (t = 0) tem seu raio igual a 15 e, ao final da animação (t = 1) tem o raio igual a 45. Experimente você mesmo definir o valor de t:

Mas como podemos implementar uma animação?