universidade catÓlica de pelotas centro politÉcnico computaÇÃo grÁfica visualizaÇÃo...
TRANSCRIPT
![Page 1: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/1.jpg)
UNIVERSIDADE CATÓLICA DE PELOTASCENTRO POLITÉCNICOCOMPUTAÇÃO GRÁFICA
VISUALIZAÇÃO BIDIMENSIONAL POR
ADRIANO KURZ MARON
![Page 2: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/2.jpg)
ROTEIRO Introdução Conceitoso SROo SRUo SRD
Etapas do Processo de Visualizaçãoo Instanciamentoo Recorte
Algoritmo de COHEN-SUTHERLANDo Mapeamento
![Page 3: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/3.jpg)
Introduçãoo Uma imagem bidimensional é a representação gráfica
do resultado da aplicação de um conjunto de técnicas sobre estruturas de dados;
o Essas estruturas possuem todas as informações referentes aos objetos utilizados para compor a imagem;
Estruturas de Dados dos Objetos
ImagemProcesso de Visualização
2D
![Page 4: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/4.jpg)
Alguns Conceitos Importanteso Sistema de Referência do Objeto (SRO)
O SRO é um espaço de coordenadas adequado à criação dos modelos;
Cada modelo têm as suas próprias características, independente da aplicação aonde ele está sendo utilizado;
o Sistema de Referência do Universo (SRU) É o sistema de referência utilizado por uma determinada
aplicação para posicionar os objetos no universo;
Exemplo: Um CAD de arquitetura define o tamanho dos objetos em metros ou centímetros;
![Page 5: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/5.jpg)
Alguns Conceitos Importanteso Sistema de Referência do Dispositivo (SRD)
Utiliza as coordenadas referentes ao dispositivo de saída que está sendo utilizado;
Em um dispositivo de vídeo, por exemplo, essas coordenadas podem ser os pixels da tela que podem ser utilizados;
Nos hardwares, o sistema de coordenadas é definido de acordo com a resolução definida pelo usuário;
![Page 6: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/6.jpg)
Etapas do Processo de Visualizaçãoo Instanciamento
Permite a criação de cópias a partir do modelo original; Cada cópia recebe o nome de instância; As instâncias de um objeto podem ter alguns de seus
parâmetros alterados;
![Page 7: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/7.jpg)
Etapas do Processo de Visualizaçãoo Instanciamento
Geralmente, usa-se tabelas para armazenar as instâncias de um objeto;
Essa tabela possui o nome do modelo e seus parâmetros de instanciamento;
Os modelos possuem inúmeras formas de armazenamento. As mais comuns são através de rotinas ou de uma lista de retas;
Modelo Pos X Pos Y Rotação ...
Carro ... ... ... ...
Carro ... ... ... ...
Carro ... ... ... ...
Avião ... ... ... ...
Avião ... ... ... ...
![Page 8: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/8.jpg)
Etapas do Processo de Visualizaçãoo Vantagens do Instanciamento
Através do instanciamento, torna-se possível diminuir o tamanho total da imagem final, pois não é necessário repetir os modelos, somente armazenam-se seus nomes e seus parâmetros;
Possibilidade criar vários objetos diferentes a partir de um único modelo;
![Page 9: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/9.jpg)
Etapas do Processo de Visualizaçãoo Recorte
Permite que seja definida qual a região do desenho que será exibida;
Essa técnica é muito usada quando um objeto fica fora da Janela de Seleção (Window);
![Page 10: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/10.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
Calcular a intersecção da reta com todas as bordas da janela de seleção (superior, inferior, esquerda e direita);
Caso exista a intersecção, o ponto localizado fora da área de seleção é substituído pelo ponto referente à intersecção;
Ponto de Intersecção: Pi (x_int, y_int) Janela de Seleção: (min_x,min_y) – (max_x,max_y) Segmento de Reta: (xi,yi) – (xf,yf)
30
10
10
30Reta m1: (16,18),(6,27)Reta m2 : (13,15),(20,6)Reta m3 : (20,25),(16,36)Reta m4 : (18,18),(34,20)Reta m5 : (24,34),(36,20)
m5m3
m4m2
m1
![Page 11: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/11.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
Cálculo para o ponto de intersecção com a borda esquerda: x_int = min_x ; m1 = (yf - yi) / (xf - xi); y_int = yi + (min_x - xi) * m1;
Cálculo para o ponto de intersecção com a borda direita:x_int = max_x ; m4= (yf - yi) / (xf - xi);y_int = yi + (max_x - xi) * m4;
x_int = 10;m1 = (27-18)/(6-16)y_int = 18+(10-16)*-0.9 y_int = 18+(-6)*-0.9y_int = 18+5,4 => 23,4
x_int = 30;m4 = (20-18)/(34-18)y_int = 18+(12)*0.125 y_int = 18+(12)*0.125y_int = 18+1,5 => 19,5
![Page 12: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/12.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
Cálculo para o ponto de intersecção com a borda superior:m3 = (xf - xi) / (yf - yi);x_int = xi + (max_y - yi) * m3;y_int = max_y ;
Cálculo para o ponto de intersecção com a borda inferior:m2 = (xf - xi) / (yf - yi);x_int = xi + (min_y - yi) * m2;y_int = min_y ;
m3 = (16-20)/(36-25)x_int = 20+(5)* -0.36x_int = 20+(-1.8)x_int = 18.2y_int = 30
m2 = (20-13)/(6-15)x_int = 13+(-5)* -0.8x_int = 13+(4)x_int = 17y_int = 10
![Page 13: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/13.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
Resultado do recorte das retas:
Para alguns casos, como o da reta m5, esse algoritmo não faz corretamente o recorte da reta;
O algoritmo de COHEN-SUTHERLAND é o responsável por realizar de forma correta o recorte de todos os modelos de retas;
30
10
10
30m5m3
m4m2
m1
![Page 14: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/14.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
COHEN-SUTHERLAND
• O código dos ponto de cada uma das nove áreas é formado por um número de 4 bits da seguinte maneira:
Bit 0 = À esquerda da janelaBit 1 = À direita da janelaBit 2 = Abaixo da janelaBit 3 = Acima da janela
1001
0101
00100001
10101000
0000
01100100
![Page 15: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/15.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
COHEN-SUTHERLAND• Esse algoritmo possibilita tomar previamente 2 decisões:
Verificar se a linha está toda dentro da janela de seleção, através da realização de uma operação OR entre os códigos do início e do final da linha. Se o resultado for 0, então a linha está toda dentro da janela.
Verificar se a linha está toda fora da janela de seleção, através da realização de uma operação AND entre os códigos do início e do final da linha. Se o resultado for diferente de 0, então a linha está toda fora da janela.
• Caso nenhum dos dois casos anteriores se confirme, o algoritmo verifica o posicionamento dos extremos da reta;
![Page 16: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/16.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
COHEN-SUTHERLAND (passo-à-passo)1. Calcula os códigos de P1 e P2
Se P1 estiver fora da janela: executa o passo 2Senão: troca P1 por P2.
2. Verifica se o ponto está à esquerda da janelaSe não estiver: executa o passo 3. Se estiver: calcula o ponto de intersecção da reta com o lado esquerdo da janela, definindo o novo posicionamento do ponto. Executa o passo 6.
![Page 17: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/17.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
COHEN-SUTHERLAND (passo-à-passo)3. Verifica se o ponto está à direita da janela
Se não estiver: executa o passo 4. Se estiver: calcula o ponto de intersecção da reta com o lado direito da janela, definindo o novo posicionamento do ponto. Executa o passo 6.
4. Verifica se o ponto está acima da janelaSe não estiver: executa o passo 5. Se estiver: calcula o ponto de intersecção da reta com o lado de cima da janela, definindo o novo posicionamento do ponto. Executa o passo 6.
![Page 18: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/18.jpg)
Etapas do Processo de Visualizaçãoo Recorte de Retas
COHEN-SUTHERLAND (passo-à-passo)5. Verifica de o ponto está abaixo da janela
Se não estiver: executa o passo 6. Se estiver: calcula o ponto de intersecção da reta com o lado de baixo da janela, definindo o novo posicionamento do ponto. Executa o passo 6.
6. Verifica se a nova linha (P1,P2) está toda dentro ou toda fora da janelaRecalcula os códigos dos pontosSe (P1 OR P2) == 0: encerra o algoritmo (toda linha dentro)Senão: Se (P1 AND P2) != 0: encerra o algoritmo (toda linha fora) Senão: Executa o passo 1
![Page 19: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/19.jpg)
Etapas do Processo de Visualizaçãoo Mapeamento
Normalmente, após serem realizadas as operações anteriores, as imagens não são compatíveis com a janela de exibição (Viewport) no dispositivo de saída;
O mapeamento permite a exibição de um conjunto de instâncias com coordenadas diferentes daquelas nas quais elas foram definidas;
Para visualizar a imagem, nesse caso, é necessário a conversão das coordenadas das imagens da janela de seleção, para coordenadas compatíveis com a janela de exibição;
A Viewport pode ser do mesmo tamanho do dispositivo de saída, ou pode ser menor, havendo possibilidade de existir várias Viewports em um mesmo dispositivo.
![Page 20: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/20.jpg)
Etapas do Processo de Visualizaçãoo Mapeamento
Um exemplo da necessidade da utilização do mapeamento ocorre a seguir:
• A Janela de Seleção possui dimensão 1000x1500, enquanto que a Janela de Exibição possui dimensão 640x480.
![Page 21: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/21.jpg)
Etapas do Processo de Visualizaçãoo Mapeamento
Durante a realização do mapeamento, os sistemas de coordenadas SRU e SRD são utilizados
Mapeamento para o eixo X:
![Page 22: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/22.jpg)
Etapas do Processo de Visualizaçãoo Mapeamento
Mapeamento para o eixo Y:
A etapa de mapeamento realiza esses cálculos em todos os pontos do SRU;
![Page 23: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/23.jpg)
Etapas do Processo de Visualizaçãoo Mapeamento
Dependendo da aplicação, as janelas de seleção e de visualização podem variar. Para isso, existem as fórmulas de mapeamento genéricas, definidas a seguir:
Onde: = Menor ponto no eixo X da Janela de Exibição;
= Menor ponto no eixo X da Janela de Seleção;
= Maior ponto do eixo X da Janela de Exibição;
= Maior ponto do eixo X da Janela de Seleção;
Obs.: Essas definições são iguais para o eixo Y, somente mudando a indicação do eixo.
![Page 24: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/24.jpg)
Etapas do Processo de Visualizaçãoo Mapeamento
Exemplos:
![Page 25: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc163497959413d8e9f76/html5/thumbnails/25.jpg)
Bibliografiao Computação Gráfica: Teoria e Prática
Eduardo Azevedo e Aura Conci
o Computação Gráfica (Versão 2.02) Prof. Dr. Paulo Roberto Gomes Luzzardi
o http://www.inf.pucrs.br/~pinho/CG/Aulas/Vis2d/Vis2d.htm Acessado em 04/05/2008
o http://www.cs.princeton.edu/~min/cs426/jar/clip.html Site do Algoritmo de COHEN-SUTHERLAND