computaÇÃo grÁfica aula 05 prof. edison oliveira de jesus
TRANSCRIPT
![Page 1: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/1.jpg)
COMPUTAÇÃO GRÁFICACOMPUTAÇÃO GRÁFICA
Aula 05
Prof. Edison Oliveira de Jesus
![Page 2: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/2.jpg)
Assuntos abordados nesta Assuntos abordados nesta aulaaula
Animação 2D
![Page 3: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/3.jpg)
ConceitosConceitos
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.
![Page 4: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/4.jpg)
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.
![Page 5: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/5.jpg)
ConceitosConceitos
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
![Page 6: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/6.jpg)
ImplementaçãoImplementaçã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;
![Page 7: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/7.jpg)
Animação em tempo realAnimaçã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;
![Page 8: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/8.jpg)
Animação de quadrosAnimaçã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;
![Page 9: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/9.jpg)
Paradigmas da animaçãoParadigmas 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.
![Page 10: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/10.jpg)
Loop fixoLoop 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.
![Page 11: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/11.jpg)
Loop ociosoLoop 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.
![Page 12: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/12.jpg)
Manipulador de mensagem Manipulador de mensagem baseado no tempobaseado 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.
![Page 13: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/13.jpg)
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.
![Page 14: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/14.jpg)
ControleControle
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.
![Page 15: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/15.jpg)
Animação assistida por Animação assistida por computadorcomputador
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.
![Page 16: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/16.jpg)
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.
![Page 17: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/17.jpg)
Regras de animaçãoRegras 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.
![Page 18: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/18.jpg)
deformaçãodeformaçã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.
![Page 19: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/19.jpg)
Mecanismo de câmeraMecanismo 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.
![Page 20: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/20.jpg)
EncenaçãoEncenaçã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.
![Page 21: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/21.jpg)
Animação ProceduralAnimaçã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.
![Page 22: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/22.jpg)
Animação FísicaAnimaçã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.
![Page 23: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/23.jpg)
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.
![Page 24: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/24.jpg)
Cinemática diretaCinemá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.
![Page 25: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/25.jpg)
Dinâmica diretaDinâ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.
![Page 26: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/26.jpg)
Cinemática inversaCinemá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.
![Page 27: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/27.jpg)
Dinâmica inversaDinâ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.
![Page 28: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/28.jpg)
Animação InterativaAnimaçã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.
![Page 29: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/29.jpg)
Considerações BásicasConsideraçõ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
![Page 30: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/30.jpg)
exemploexemplo
Um frame de 280 x 192 pixels = 43760 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.
![Page 31: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/31.jpg)
Tempo de limpezaTempo 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.
![Page 32: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/32.jpg)
ColisãoColisã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 10000
comparações para detectar a colisão entre eles;
![Page 33: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/33.jpg)
Outro método: Detectar os retângulos envolventes dos objetos.
![Page 34: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/34.jpg)
Um problema do método: Nem sempre a interseção dos retângulos indica a colisão.
![Page 35: COMPUTAÇÃO GRÁFICA Aula 05 Prof. Edison Oliveira de Jesus](https://reader036.vdocuments.mx/reader036/viewer/2022081518/552fc118497959413d8c8ed7/html5/thumbnails/35.jpg)