universidade catÓlica de pelotas centro politÉcnico computaÇÃo grÁfica visualizaÇÃo...

25
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON

Upload: internet

Post on 22-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA VISUALIZAÇÃO BIDIMENSIONAL POR ADRIANO KURZ MARON

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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