A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus.

Apresentações semelhantes


Apresentação em tema: "COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus."— Transcrição da apresentação:

1 COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus

2 Assuntos abordados nesta aula Animação 2D

3 Conceitos Animar significa trazer à vida; Embora, animação é muitas vezes confundida com movi- mento, ela pode ser produzida através de transformações de posições, cores, estrutura, textura, iluminação do objeto da cena; Animação é largamente usada na industria de entreteni- mento ( jogos ), educação e cientifica, principalmente neste ultimo caso em simulação de fenômenos científicos.

4 Hoje em dia, muitas das técnicas de animação estão imple- mentadas em hardware, tendo em vista a necessidade de rapidez na resposta das operações; Não confundir aqui animação tradicional, feita para o cinema, ou seja, aqui a animação é assistida pelo computa- dor e portanto, muitas das técnicas utilizadas são diferentes das primeiras.

5 Conceitos Animação fundamenta-se nos conceitos de imple- mentação e controle. A implementação envolve o mecanismo de criação da ilusão de movimento na tela; O controle está relacionado ao gerenciamento do conteúdo da própria animação

6 Implementação Implementação é a interface entre o software e o hardware. A implementação refere-se aos algoritmos depen- dentes de hardware e o código que produz a ilusão de movimento na tela. A implementação é facilitada por meio de dois tipos diferentes de instrumentos de animação: Animação em tempo real; Animação de quadro;

7 Animação em tempo real Este tipo de animação refere-se a seqüências ani- madas nas quais cada elemento de imagem é de- senhado pelo software enquanto a animação está sendo apresentada; Cada quadro usualmente é criado por um bitmap oculto e copiado para a tela depois de pronto. A animação em tempo real é também chamada de animação baseada em elenco;

8 Animação de quadros Este tipo de animação refere-se a seqüências ani- madas que buscam e apresentam quadros previa- mente desenhados; Os quadros usados para uma seqüência de ani- mação baseada em quadros, podem ser armaze- nados na memória ou no disco rígido da máquina;

9 Paradigmas da animação Independentemente de se estar usando animação em tempo real ou de quadro, a implementação da animação é baseada num dos 4 paradigmas se- guintes: Loop fixo; Loop ocioso; Manipulador de mensagem baseado no tempo; Chamada direta baseada no tempo.

10 Loop fixo Um loop fixo é um bloco de código que é executado repetidamente para um número predefinido de iterações; Enquanto o loop está sendo executado, outros aplicativos no ambiente de desenvolvimento ficam impedidos de serem executados ( por exemplo no Windows ); O loop fixo monopoliza todos os recursos do sistema; O código de loop fixo é útil para trechos de animação muito curtos, contanto que a seqüência de animação seja suficien- temente breve para não afetar de maneira adversa outros aplicativos que estão em execução.

11 Loop ocioso Neste tipo de programação, em vez de monopolizar todo o sistema, o aplicativo faz chamadas às funções que controlam o ambiente de programação para verificar se há entradas do usuário enquanto o loop está sendo executado. Isto dá o ambiente de programação, oportunidade para servir aos outros aplicativos enquanto processa o módulo de animação; neste caso, a seqüência de animação só é processada se o resto do sistema estiver ocioso, ou seja, se nenhum outro aplicativo precisar do tempo de processador.

12 Manipulador de mensagem baseado no tempo Os algoritmos baseados no tempo oferecem o meio mais eficaz de controlar a execução de animação, pois combinam de um modo contínuo com a maneira pela qual o sistema do ambiente faz as coisas. Exemplo: depois que a ferramenta TIMER foi ativada, o sistema operacional envia eventos de temporização regulares para o aplicativo; Cada evento destes pode ser utilizado como uma suges- tão para exibir o próximo quadro, construindo-se assim uma seqüência de animação.

13 Esta abordagem é bastante versátil, visto que sempre que é recebida uma mensagem de tempo, o aplicativo de anima- ção pode chamar a função que autoriza a exibição do próxi- mo quadro. Isto torna fácil a implementação de características de quadro congelado ou ainda, quadro passo a passo.

14 Controle O controle é a interface entre o assunto objeto e o software. Tipos de controles: Animação tradicional, assistida por computador; Animação procedural; Animação física.

15 Animação assistida por computador Teve origem em torno de 1820 durante jogos de salão, onde folhas de celulóide eram empilhadas e iluminadas por baixo a fim de dar a impressão de movimento; Em cada folha há uma imagem desenhada a mão de um elemento de desenho ( cartoon ) ou um fundo. Os programas de desenho animado na televisão são exemplos deste tipo de animação.

16 Quando a animação é controlada por computador, o processo é denominado Computer Assisted Traditional Animation, ou animação tradicional assistida por computa- dor ou animação por script. A animação por script ( roteiro ) é gerenciada por um roteiro das atividades a serem executadas. As entidades individuais ( atores ) movimentam-se em frente a uma superfície de fundo; Os atores podem ser caracteres, adereços ou elementos de cenário.

17 Regras de animação Algumas regras de animação podem ser aplicadas no pro- cesso de animação tradicional: Deformação; Mecanismo de câmera; Encenação.

18 deformação Refere-se ao amassamento e esticamento de uma entidade da cena. Por exemplo, uma bola que pula deve ser amassada ( comprimida ) cada vez que ela atinge um elemento do cenário, o solo, por exemplo. Ela deverá ser esticada ( estendida ) quando pula de volta; Deformações sutis como estas, acrescentam mais vida à animação.

19 Mecanismo de câmera Este mecanismo está relacionado ao movimento de uma câmera. Os princípios de slow-in e slow-out determinam que qual- quer movimento de câmera deve começar bem devagar e deve aumentar gradativamente até atingir a velocidade total. Depois deve reduzir a velocidade gradualmente até parar suavemente. Estes procedimentos evitam movimentos bruscos na animação.

20 Encenação A encenação é responsável pela direção da animação. Coreografia, temporização, roteiro, iluminação, entrada e saída de atores, cenários, e outras atividades são de responsabilidade da encenação.

21 Animação Procedural É a animação orientada para o objeto. Durante a execução da animação, o software prepara o próximo quadro, calculando a próxima posição de cada entidade da cena; Estes cálculos baseiam-se em regras de comportamento definidas pelo programador; As regras descrevem o comportamento de uma entidade na própria cena e seu comportamento em relação a outras entidades da cena.

22 Animação Física Este tipo de animação se utiliza das leis da física para controlar o movimento das entidades durante a execução da animação. É também chamada de animação baseada em restrições, as quais são leis ou forças limitantes. Por exemplo, na animação do movimento de uma bola, se a gravidade for considerada, a bola estará sendo empurrada para baixo. Neste caso, a força da gravidade é uma força de restrição ao movimento da bola. Quando a bola atinge a parede, ela não a penetra, e sim volta para trás. A bola não tem o poder de atravessar a parede. É uma restrição ao seu movimento.

23 A animação física está relacionada com posições, veloci- dades, forças, massas e restrições. Estes elementos envolvem os seguintes conceitos: Cinemática direta; Dinâmica direta; Cinemática inversa; Dinâmica inversa. Cinemática envolve posições e velocidades das entidades na cena. Dinâmica envolve as leis da física como força, massa e outras que governam as posições e velocidades.

24 Cinemática direta É o processo de calcular o que acontece quando é aplicada velocidade ou aceleração a uma entidade; A cinemática direta não se preocupa com forças e massas, mas considera somente o movimento propriamente dito. O aplicativo pode usar cinemática direta para verificar por exemplo, se duas entidades colidem durante uma seqüência de animação.

25 Dinâmica direta É o processo de calcular o que acontece quando a força, cargas ou restrições são aplicadas a uma entidade. Em geral, a dinâmica se preocupa com as leis da física que governam a cinemática. O aplicativo pode utilizar dinâmica direta para calcular o movimento ( a cinemática ) de uma entidade que resulta de forças agindo sobre a entidade, assim como pode também calcular forças que resultam do movimento de uma entidade. Por exemplo, a dinâmica direta pode obter as forças resul- tantes da colisão de duas entidades na cena.

26 Cinemática inversa É o processo de calcular a velocidade ou aceleração necessárias para mover uma entidade de uma localização para outra, durante um determinado período de tempo. A cinemática inversa utiliza a localização de um alvo fornecido pelo programador e calcula o valor da velocidade ou aceleração necessária para mover a entidade até aquela localização.

27 Dinâmica inversa É o processo de calcular as forças ou restrições necessárias para mover uma entidade que possui uma determinada massa, de uma localização para outra, durante um determinado período de tempo. A dinâmica inversa usa a localização de um alvo fornecido pelo programador e calcula as forças necessárias para mover a entidade para aquela localização.

28 Animação Interativa Este tipo de animação refere-se a um ambiente de execução de animação que proporciona formas do usuário influir no resultado da animação. Ela é implementada usando-se um instrumento em tempo real, o qual proporciona a funcionalidade de animação tradi- cional assistida por computador, da animação procedural e da animação física.

29 Considerações Básicas Duas considerações sobre velocidade são fundamentais: Taxa de atualização da tela; Tempo de limpeza da tela; Na animação cada imagem mostra na tela é chamada quadro ( frame ) ; Mínima velocidade de atualização = 15 quadros / segundo Boa velocidade = 30 quadros / segundo

30 exemplo Um frame de 280 x 192 pixels = pixels Na velocidade mínima cada frame deveriam estar sendo atualizados em 1 / 15 segundos, que é uma taxa de atualização muito alta, mesmo para os mais rápidos computadores. A solução é atualizar seletivamente partes da imagem.

31 Tempo de limpeza Se o tempo de limpeza da tela for maior que 1 / 4 da velocidade de atualização, o flicker é produzido. A solução neste caso é utilizar atualização via quadros.

32 Colisão Dois objetos colidem quando ocupam as mesmas coordenadas de tela; Um método de detecção: Comparar as coordenadas de tela dos objetos; Se qualquer destas coordenadas forem iguais, houve colisão; O problema com esta solução é o tempo gasto com este cálculo. Exemplo: 2 objetos 10 x 10 cada resulta em comparações para detectar a colisão entre eles;

33 Outro método: Detectar os retângulos envolventes dos objetos.

34 Um problema do método: Nem sempre a interseção dos retângulos indica a colisão.

35


Carregar ppt "COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus."

Apresentações semelhantes


Anúncios Google