UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de.
Marco Antonio Montebello Júnior
Nilo Menezes – Lógica de Programação –
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
UNIVERSIDADE LUTERANA DO BRASIL COMUNIDADE EVANGÉLICA LUTERANA SÃO PAULO Reconhecida pela Portaria Ministerial nº 681 de 07/12/89 – DOU de 11/12/89 Campus.
Prof. Hebert Monteiro Movimento em I dimensão. Iniciaremos o nosso curso estudando a mecânica como ciência que estuda o movimento. A mecânica é dividida.
FOLHA DE CÁLCULO 1.
Vetores Representação e características Operações I Decomposição
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Informática Aplicada.
Excel Profa. Cristina M. Nunes.
PORTAS LÓGICAS Prof. Wanderley.
Orientação a Objetos: Encapsulamento e Classificação
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Computação Gráfica I Conteúdo: Professor: - Recorte 2D
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
COMPUTAÇÃO GRÁFICA.
Introdução à Computação Gráfica Recorte
Estatística Básica Utilizando o Excel
Prof. Neide Pizzolato Angelo
Introdução à Lógica de Programação (cont.)
Projeto e Análise de Algoritmos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Professor Victor Sotero
Divisão e Conquista Análise de algoritmos UNISUL Ciência da Computação
Fundamentação Teórica
Classes e objetos P. O. O. Prof. Grace.
Revisão do conceito de matrizes
Sistemas Operacionais
Instalação e Configuração
Simplificação de Expressões Booleanas e Circuitos Lógicos
Cadastro de produtos por referência
Impressão de etiquetas
Inteligência Artificial
INTRODUÇÃO À ENGENHARIA
PROGRAMAÇÃO I UNIDADE 1.
Conteúdos do tutorial O que é um Slide Mestre?
Arquitetura de computadores
Entendendo as definições de classe
Tipos Estruturados de Dados
Computação Gráfica Aula 2 – Conceito de Resolução
Infra-Estrutura de Hardware
Projeto de Banco de Dados
Computação Gráfica Aula 3 Transformações Geométricas
TRANSFORMAÇÕES DE TENSÕES
Linguagem e Ambiente Scratch
Visualização Tridimensional (Câmera Sintética)
Ceça Moraes – Introdução à Programação SI1
Campus de Caraguatatuba Aula 2: Somatório e Produtório
ÁREA DE TRABALHO DO WINDOWS
FORMATANDO O TRABALHO NO WORD 2007
UML - Unified Modeling Language
Campus de Caraguatatuba
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
Introdução a Algoritmos
Planilha Eletrônica - Excel
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Informática Básica – Unidade 2
Contagem Sequencial do Estoque
Introdução à Computação Gráfica
Computação Gráfica - Recorte
CÁLCULO COM GEOMETRIA ANALÍTICA II Funções de várias variáveis
Programação Computacional Aula 9: Meu primeiro programa em C
Prof. Edison Oliveira de Jesus
31/5/2016 Sistemas de Coordenadas O Sistema de Coordenadas nos dá uma referência sobre o tamanho e a posição dos objetos.
Transcrição da apresentação:

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

Etapas do Processo de Visualização ROTEIRO Introdução Conceitos SRO SRU SRD Etapas do Processo de Visualização Instanciamento Recorte Algoritmo de COHEN-SUTHERLAND Mapeamento

Processo de Visualização 2D Introdução Uma imagem bidimensional é a representação gráfica do resultado da aplicação de um conjunto de técnicas sobre estruturas de dados; Essas estruturas possuem todas as informações referentes aos objetos utilizados para compor a imagem; Processo de Visualização 2D Estruturas de Dados dos Objetos Imagem

Alguns Conceitos Importantes 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; 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;

Alguns Conceitos Importantes 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;

Etapas do Processo de Visualização 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;

Etapas do Processo de Visualização 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 Avião

Etapas do Processo de Visualização 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;

Etapas do Processo de Visualização 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);

Etapas do Processo de Visualização 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) m5 m3 30 Reta 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) m1 m4 m2 10 10 30

Etapas do Processo de Visualização 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.9 y_int = 18+5,4 => 23,4 x_int = 30; m4 = (20-18)/(34-18) y_int = 18+(12)*0.125 y_int = 18+1,5 => 19,5

Etapas do Processo de Visualização 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.36 x_int = 20+(-1.8) x_int = 18.2 y_int = 30 m2 = (20-13)/(6-15) x_int = 13+(-5)* -0.8 x_int = 13+(4) x_int = 17 y_int = 10

Etapas do Processo de Visualização 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; m5 m3 30 m1 m4 m2 10 10 30

Etapas do Processo de Visualização 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 janela Bit 1 = À direita da janela Bit 2 = Abaixo da janela Bit 3 = Acima da janela 1001 1000 1010 0001 0000 0010 0101 0100 0110

Etapas do Processo de Visualização 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;

Etapas do Processo de Visualização Recorte de Retas COHEN-SUTHERLAND (passo-à-passo) Calcula os códigos de P1 e P2 Se P1 estiver fora da janela: executa o passo 2 Senão: troca P1 por P2. Verifica se o ponto está à esquerda da janela Se 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.

Etapas do Processo de Visualização Recorte de Retas COHEN-SUTHERLAND (passo-à-passo) 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. Verifica se o ponto está acima da janela Se 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.

Etapas do Processo de Visualização Recorte de Retas COHEN-SUTHERLAND (passo-à-passo) 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. Verifica se a nova linha (P1,P2) está toda dentro ou toda fora da janela Recalcula os códigos dos pontos Se (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

Etapas do Processo de Visualização 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.

Etapas do Processo de Visualização 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.

Etapas do Processo de Visualização Mapeamento Durante a realização do mapeamento, os sistemas de coordenadas SRU e SRD são utilizados Mapeamento para o eixo X:

Etapas do Processo de Visualização Mapeamento Mapeamento para o eixo Y: A etapa de mapeamento realiza esses cálculos em todos os pontos do SRU;

Etapas do Processo de Visualização      Etapas do Processo de Visualização 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.

Etapas do Processo de Visualização      Etapas do Processo de Visualização Mapeamento Exemplos:

Bibliografia Computação Gráfica: Teoria e Prática      Bibliografia Computação Gráfica: Teoria e Prática Eduardo Azevedo e Aura Conci Computação Gráfica (Versão 2.02) Prof. Dr. Paulo Roberto Gomes Luzzardi http://www.inf.pucrs.br/~pinho/CG/Aulas/Vis2d/Vis2d.htm Acessado em 04/05/2008 http://www.cs.princeton.edu/~min/cs426/jar/clip.html Site do Algoritmo de COHEN-SUTHERLAND