Conceitos de Animação de Trajetória

Claudio Kirner – 2007

 

1 – Animação de posição

 

A animação de trajetória, como outros tipos de animação, baseia-se na interpolação de posições e orientações (inclinações) de um objeto em quadros diferentes.

Ao colocar-se a seta no quadro 1 (Fig. 1.a), em uma posição P0, e no quadro 2 (Fig. 1.b), em outra posição P1, o sistema tem condição de calcular e mostrar as posições intermediárias entre P0 e P1 (Fig. 1.c), com uma certa duração de tempo, como em um filme.

Para esta trajetória completa, podemos, por exemplo, definir os tempos relativos de 0 a 1 (0 a 100%) como T0=0, T1=0.25, T2=0.50, T3= 0.75 e T4=1.00, sendo T0 em P0, T1 em P1, e assim por diante. O tempo T4 é o tempo de fechamento da trajetória, de forma que P4=P0, conforme a Fig. 2.

No entanto, a trajetória pode mudar de direção, exigindo também uma animação da orientação (inclinação) da seta, chamada “giro”. Há várias maneiras de fazer o giro da seta: giro constante, giro pontual e giro setorial.

 

2 – Animação de orientação com giro constante

 

A primeira possibilidade - mais simples - consiste em usar o giro constante, ou seja, enquanto a seta faz a translação  entre os 4 pontos da trajetória, ela vai girando para atingir cada ponto com a inclinação já definida. Isto gera uma animação mostrada na Fig. 3.

3 – Animação de orientação com giro pontual

 

A segunda possibilidade é colocar fazer a translação entre os pontos e fazer o giro localizado nos pontos, ou seja, a seta é translada de um ponto a outro, faz o giro, e depois faz a nova translação e assim por diante. Nesse caso, deve-se colocar tempo para translação e tempo para giro em cada parte da trajetória. Para isto, os pontos são mantidos, mas os tempos devem ser revistos, gerando a situação da Fig. 4.

Em cada ponto, haverá o tempo de chegada e o tempo de saída para a translação, Entre o tempo de chegada e o tempo de saída, a seta fará o seu giro. Assim, teremos a seguinte situação, de acordo com a Fig. 4: No ponto P0, temos o tempo de saída T0;  no ponto P1, o tempo de chegada T1 e o tempo de saída T2; no ponto P2, o tempo de chegada T3 e o tempo de saída T4; no ponto P3, o tempo de chegada T5 e o tempo de saída T6; e finalmente no ponto P4, que é igual ao ponto inicial P0, temos o tempo de chegada T7. A partir daqui a animação termina, ou é repetida, dependendo do estabelecimento de seus parâmetros.

Apesar de ser melhor que a primeira possibilidade, esse giro gera distorções no comportamento dos objetos, provocando derrapagem no ponto, pois todo o objeto gira em torno de um ponto, quando, na realidade, o giro ocorre de maneira gradual, conforme se faz uma translação, como ocorre em uma esquina. Veja o exemplo dessa animação em anexo.

4 – Animação de orientação com giro setorial

 

A terceira possibilidade de obter-se um giro mais próximo da realidade é usar o giro setorial, desdobrando-se cada ponto em dois, como em uma esquina, conforme a Fig. 5.

A trajetória total com giro setorial pode ser vista na Fig. 6. Foram usados tempos iguais de 0.23 para cada trecho, e 0.02 para cada giro. A figura mostra os tempos realtivos acumulados.

O uso de mais pontos intermediários nas curvas pode dar maior realismo à animação, na medida em que a trajetória fica mais próxima do que é realizado na prática, mas fica mais trabalhoso.

 

5 – Considerações finais

 

Nos exemplos mostrados, foram usados giros de objetos, movimentando-se em um plano, como ocorre com veículos terrestres (giros em torno do eixo Y), mas há muitos casos dos giros serem múltiplos, como ocorre com o avião, por exemplo. Nesse caso, a animação de orientação deverá ser composta, envolvendo animações em torno de cada eixo no mesmo tempo.

Outros exemplos podem ser gerados, a partir dos exemplos apresentados, alterando os pontos e os tempos e, eventualmente, o método de animação das orientações (giros).