Introdução à Computação Gráfica Visibilidade e Recorte
|
|
|
- Maria dos Santos Gesser Garrido
- 7 Há anos
- Visualizações:
Transcrição
1 Introdução à Computação Gráfica Visibilidade e Recorte Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti
2 O Problema de Visibilidade Numa cena tridimensional, normalmente não é possível ver todas as superfícies de todos os objectos Não queremos que objectos ou partes de objectos não visíveis apareçam na imagem Problema importante que tem diversas ramificações Descartar objectos que não podem ser vistos (culling) Recortar objectos de forma a manter apenas as partes que podem ser vistas (clipping) Desenhar apenas partes visíveis dos objectos Em malha de arame (hidden-line algorithms) Em superfícies (hidden-surface algorithms) Sombras (visibilidade a partir de fontes luminosas) 05/06/2007 2
3 Espaço do Objecto x Espaço da Imagem Métodos que trabalham no espaço do objecto Entrada e saída são dados geométricos Independente da resolução da imagem Menos vulnerabilidade a aliasing Rasterização ocorre depois Exemplos: Maioria dos algoritmos de recorte e culling Recorte de segmentos de rectas Recorte de polígonos Algoritmos de visibilidade que utilizam recorte Algoritmo do pintor BSP-trees Algoritmo de recorte sucessivo Volumes de sombra 05/06/2007 3
4 Espaço do Objecto x Espaço da Imagem Métodos que trabalham no espaço da imagem Entrada é vectorial e saída é matricial Dependente da resolução da imagem Visibilidade determinada apenas em pontos (pixels) Podem aproveitar aceleração por hardware Exemplos: Z-buffer Algoritmo de Warnock Mapas de sombra 05/06/2007 4
5 Recorte (Clipping) Problema definido por Geometria a ser recortada Pontos, rectas, planos, curvas, superfícies Restrições de recorte Janela (2D) Volume de visibilidade Frustum (tronco de pirâmide) Paralelipípedo Polígonos Convexos Genéricos (côncavos, com buracos, etc) Resultado depende da geometria Pontos: valor booleano (visível / não visível) Rectas: segmento de recta ou colecção de segmentos de recta Planos: polígono ou colecção de polígonos 05/06/2007 5
6 Recorte de Segmento de Recta x Rectângulo Problema clássico 2D Entrada: Segmento de recta P 1 - P 2 Janela alinhada com eixos (xmin, ymin) - (xmax, ymax) Saída: Segmento recortado (possivelmente nulo) Variantes Cohen-Sutherland Liang-Barksy / Cyrus-Beck Nicholl-Lee-Nicholl 05/06/2007 6
7 Cohen-Sutherland Vértices do segmento são classificados com relação a cada semi-espaço plano que delimita a janela x xmin e x xmax e y ymin e y ymax Se ambos os vértices classificados como fora, descartar o segmento (totalmente invisível) Se ambos classificados como dentro, testar o próximo semi-espaço Se um vértice dentro e outro fora, computar o ponto de intersecção Q e continuar o algoritmo com o segmento recortado (P 1 -Q ou P 2 -Q) 05/06/2007 7
8 Cohen-Sutherland ymax ymin xmin xmax 05/06/2007 8
9 Cohen-Sutherland ymax ymin xmin xmax 05/06/2007 9
10 Cohen-Sutherland ymax ymin xmin xmax 05/06/
11 Cohen-Sutherland ymax ymin xmin xmax 05/06/
12 Cohen-Sutherland ymax ymin xmin xmax 05/06/
13 Cohen-Sutherland - Detalhes Recorte só é necessário se um vértice dentro e outro fora Classificação de cada vértice pode ser codificada em 4 bits, um para cada semi-espaço Dentro = 0 e Fora = 1 Rejeição trivial: Classif(P 1 ) & Classif(P 2 ) 0 Aceitação trivial: 3 Classif(P 1 ) Classif(P 2 ) = 0 Intersecção com quais semi-espaços? 4 Classif(P 1 ) ^ Classif(P 2 ) /06/
14 Algoritmo de Liang-Barsky Refinamento que consiste em representar a recta na forma paramétrica É mais eficiente visto que não é preciso computar pontos de intersecção irrelevantes Porção da recta não recortada deve satisfazer x y min min x 1 y 1 t Δ x x t Δ y y max max x y x 2 y 2 x 1 y 1 05/06/
15 Algoritmo de Liang-Barsky Linha infinita intercepta semi-espaços planos para os seguintes valores do parâmetro t: q onde k tk p 1 x q 1 x 1 x min pk p 2 x q 2 x max x 1 p 3 y q 3 y 1 y min p 4 y q 4 y max y 1 05/06/
16 Algoritmo de Liang-Barsky Se p k < 0, à medida que t aumenta, recta entra no semi-espaço plano Se p k > 0, à medida que t aumenta, recta sai do semi-espaço plano Se p k = 0, recta é paralela ao semi-espaço plano (recorte é trivial) Se existe um segmento da recta dentro do retângulo, classificação dos pontos de intersecção deve ser entra, entra, sai, sai 05/06/
17 Algoritmo de Liang-Barsky Entra Sai Sai Sai Sai Entra Entra Entra 05/06/
18 Liang-Barsky Pseudo-código Computar valores de t para os pontos de intersecção Classificar pontos em entra ou sai Vértices do segmento recortado devem corresponder a dois valores de t: t min = max (0, t s do tipo entra) t max = min (1, t s do tipo sai) Se t min <t max, segmento recortado é não nulo Computar vértices substituindo os valores de t Na verdade, o algoritmo calcula e classifica valores de t um a um Rejeição precoce Ponto é do tipo entra mas t > 1 Ponto é do tipo sai mas t < 0 05/06/
19 Recorte de Polígono contra Rectângulo Inclui o problema de recorte de segmentos de recta Polígono resultante tem vértices que são Vértices da janela, Vértices do polígono original, ou Pontos de intersecção aresta do polígono/aresta da janela Dois algoritmos clássicos Sutherland-Hodgman Figura de recorte pode ser qualquer polígono convexo Weiler-Atherton Figura de recorte pode ser qualquer polígono 05/06/
20 Casos Simples Recorte de Polígono contra Retângulo Casos Complicados 05/06/
21 Algoritmo de Sutherland- Hodgman Ideia é semelhante à do algoritmo de Sutherland-Cohen Recortar o polígono sucessivamente contra todos os semi-espaços planos da figura de recorte 05/06/
22 Polígono é dado como uma lista circular de vértices Vértices e arestas são processados em sequência e classificados contra o semi-espaço plano corrente Vértice: Dentro: copiar para a saída Fora: ignorar Aresta Algoritmo de Sutherland- Hodgman Intercepta semi-espaço plano (vértice anterior e posterior têm classificações diferentes) : Copiar ponto de intersecção para a saída Não intercepta: ignorar 05/06/
23 Algoritmo de Sutherland- Hodgman Fora Dentro Fora Dentro Fora Dentro Fora s p p i s p s i p s Copiar p Copiar i Ignorar Copiar i,p 05/06/
24 Sutherland-Hodgman Exemplo 05/06/
25 Sutherland-Hodgman Exemplo 05/06/
26 Sutherland-Hodgman Exemplo 05/06/
27 Sutherland Hodgman Eliminando Arestas Fantasmas Distinguir os pontos de intersecção gerados De dentro para fora: rotular como do tipo De fora para dentro: rotular como do tipo β Iniciar o percurso de algum vértice fora Ao encontrar um ponto de intersecção, ligar com o último β visto Resultado pode ter mais de uma componente conexa Dentro β Fora 05/06/
28 Sutherland Hodgman Eliminando Arestas Fantasmas Exemplo 05/06/
29 Sutherland Hodgman Eliminando Arestas Fantasmas Exemplo 05/06/
30 Sutherland Hodgman Eliminando Arestas Fantasmas Exemplo 05/06/
31 Sutherland-Hodgman - Resumo Facilmente generalizável para 3D Pode ser adaptado para implementação em hardware Cada vértice gerado pode ser passado pelo pipeline para o recorte contra o próximo semi-espaço plano Pode gerar arestas fantasma Irrelevante para fins de desenho Podem ser eliminadas com um pouco mais de trabalho 05/06/
32 Algoritmo de Weiler-Atherton Recorta qualquer polígono contra qualquer outro polígono Pode ser usado para computar operações de conjunto com polígonos União, Intersecção, Diferença Mais complexo que o algoritmo de Sutherland-Hodgman Idéia: Cada polígono divide o espaço em 3 conjuntos Dentro, fora, borda Borda de cada polígono é duplicada Uma circulação corresponde ao lado de dentro e outra ao lado de fora Nos pontos de intersecção, é preciso costurar as 4 circulações de forma coerente 05/06/
33 Algoritmo de Weiler-Atherton Interior do polígono à esquerda da seta (circulação anti-horária) A B 05/06/
34 Algoritmo de Weiler-Atherton Exterior do polígono à direita da seta (circulação horária) A B 05/06/
35 Algoritmo de Weiler-Atherton Pontos de intersecção são calculados A B 05/06/
36 Algoritmo de Weiler-Atherton Circulações são costuradas 05/06/
37 Algoritmo de Weiler-Atherton Circulações são classificadas A B B A A B A B (A B) 05/06/
38 Algoritmos de Visibilidade Visibilidade é um problema complexo que não tem uma solução óptima O que é óptima? Pintar apenas as superfícies visíveis? Pintar a cena em tempo mínimo? Coerência no tempo? Cena muda? Objectos movem-se? Qualidade é importante? Antialiasing Aceleração por Hardware? 05/06/
39 Complexidade do Problema Factores que influenciam o problema Número de pixels Em geral procura-se minimizar o número total de pixels pintados Resolução da imagem / depth buffer Menos importante se rasterização é feita por hardware Número de objectos Técnicas de culling Células e portais Recorte pode aumentar o número de objectos 05/06/
40 Backface Culling Hipótese: cena é composta de objectos poliédricos fechados Podemos reduzir o número de faces aproximadamente a metade Faces de trás não precisam ser pintadas Como determinar se a face é de trás? N E > O Face da frente N E < O Face de trás OpenGL glenable (GL_CULLING); E 05/06/
41 Z-Buffer Método que opera no espaço da imagem Manter para cada pixel um valor de profundidade (z-buffer ou depth buffer) Início da renderização Buffer de cor = cor de fundo z-buffer = profundidade máxima Durante a rasterização de cada polígono, cada pixel passa por um teste de profundidade Se a profundidade do pixel for menor que a registrada no z-buffer Pintar o pixel (atualizar o buffer de cor) Actualizar o buffer de profundidade Caso contrário, ignorar 05/06/
42 OpenGL: Habilitar o z-buffer: Z-Buffer glenable (GL_DEPTH_TEST); Não esquecer de alocar o z-buffer GLUT Número de bits por pixel depende de implementação / disponibilidade de memória Ao gerar um novo quadro, limpar também o z-buffer: glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT) Ordem imposta pelo teste de profundidade pode ser alterada gldepthfunc( ) 05/06/
43 Z-Buffer Vantagens: Simples e comunmente implementado em Hardware Objectos podem ser desenhados em qualquer ordem Desvantagens: Rasterização independente de visibilidade Lento se o número de polígonos é grande Erros na quantização de valores de profundidade podem resultar em imagens inaceitáveis Dificulta o uso de transparência ou técnicas de anti-aliasing É preciso ter informações sobre os vários polígonos que cobrem cada pixel 05/06/
44 Z-Buffer e Transparência Se há objectos semi-transparentes, a ordem de renderização é importante Após a renderização de um objecto transparente, actualiza-se o z-buffer? Sim novo objecto por trás não pode mais ser renderizado Não z-buffer fica incorreto Soluções Extender o z-buffer A-buffer Pintar de trás para frente Algoritmo do pintor Necessário de qualquer maneira, para realizar transparência com blending (canal alfa) 05/06/
45 A-Buffer Melhoramento da ideia do z-buffer Permite implementação de transparência e de filtragem (anti-aliasing) Para cada pixel manter lista ordenada por z onde cada nó contém Máscara de subpixels ocupados Cor ou ponteiro para o polígono Valor de z (profundidade) Z 05/06/
46 A-Buffer Fase 1: Polígonos são rasterizados Se pixel completamente coberto por polígono e polígono é opaco Inserir na lista removendo polígonos mais profundos Se o polígono é transparente ou não cobre totalmente o pixel Inserir na lista Fase 2: Geração da imagem Máscaras de subpixels são misturadas para obter cor final do pixel 05/06/
47 A-Buffer Vantagens Faz mais do que o z-buffer Ideia da máscara de subpixels pode ser usada com outros algoritmos de visibilidade Desvantagens Implementação (lenta) por software Problemas do z-buffer permanecem Erros de quantização em z Todos os polígonos são rasterizados 05/06/
48 Algoritmo Scan-Line Idéia é aplicar o algoritmo de rasterização de polígonos a todos os polígonos da cena simultaneamente Explora coerência de visibilidade Em sua concepção original requer que polígonos se interceptem apenas em vértices ou arestas Pode ser adaptado para lidar com faces que se interceptam Pode mesmo ser estendido para rasterizar sólidos CSG 05/06/
49 Algoritmo Scan-Line Ordenam-se todas as arestas de todos os polígonos por ymin Para cada plano de varrimento y Para cada polígono Determinar intervalos x i de intersecção com plano de varredura Ordenar intervalos de intersecção por zmin Para cada linha de varriento z Inserir arestas na linha de varrimento respeitando inclinação z/x Renderizar resultado da linha de varrimento 05/06/
50 Algoritmo Scan-Line z z z x x Intervalos x Onde projecções dos polígonos se interceptam, desenhar o da frente 05/06/
51 Algoritmo Scan-Line z Ponto descoberto durante a varredura x 05/06/
52 Algoritmo Scan-Line Vantagens Algoritmo flexível que explora a coerência entre pixels de uma mesma linha de varrimento Razoável independência da resolução da imagem Filtragem e anti-aliasing podem ser incorporados com um pouco de trabalho Pinta cada pixel apenas uma vez Razoavelmente imune a erros de quantização em z Desvantagens Coerência entre linhas de varrimento não é explorada Polígonos invisíveis são descartados múltiplas vezes Relativa complexidade Não muito próprio para implementação em hardware 05/06/
53 Algoritmo de Warnock Usa subdivisão do espaço da imagem para explorar coerência de área Sabemos como pintar uma determinada sub-região da imagem se: 1. Um polígono cobre a região totalmente e em toda região é mais próximo que os demais 2. Nenhum polígono a intercepta 3. Apenas um polígono a intercepta Se a sub-região não satisfaz nenhum desses critérios, é subdividida recursivamente à maneira de uma quadtree Se sub-região se reduz a um pixel, pintar o polígono com menor profundidade 05/06/
54 Algoritmo de Warnock /06/
55 Algoritmo de Warnock Vantagens Explora coerência de área Apenas áreas que contêm arestas precisam ser subdivididas até o nível de pixel Pode ser adaptado para suportar transparência Levando a recursão até tamanho de subpixel, pode-se fazer filtragem de forma elegante Pinta cada pixel apenas uma vez Desvantagens Testes são lentos Aceleração por hardware improvável 05/06/
56 Algoritmo do Pintor Também conhecido como algoritmo de prioridade em Z (depth priority) Ideia é pintar objectos mais distantes (background) antes de pintar objectos próximos (foreground) Requer que objectos sejam ordenados em Z Complexidade O (N log N) Pode ser complicado em alguns casos Na verdade, a ordem não precisa ser total se projecções dos objectos não se interceptam Z Não há ordem possível Que ponto usar para determinar ordem? 05/06/
57 Algoritmo do Pintor Ordenação requer que se determine, para cada par de polígonos A e B: A precisa ser pintado antes de B B precisa ser pintado antes de A A ordem de pintura é irrelevante Pode-se usar um algoritmo simples baseado em troca. Ex.: Bubble Sort Como a ordem a ser determinada não é total, pode-se usar um algoritmo de ordenação parcial Ex.: Union-Find (Tarjan) 05/06/
58 Algoritmo do Pintor Ordem de pintura entre A e B determinada por testes com níveis crescentes de complexidade 1. Caixas limitantes de A e B não se interceptam 2. A atrás ou na frente do plano de B 3. B atrás ou na frente do plano de A 4. Projecções de A e B não se interceptam Se nenhum teste for conclusivo, A é substituído pelas partes obtidas recortando A pelo plano de B (ou vice-versa) 05/06/
59 Algoritmo de Recorte Sucessivo Pode ser pensado como um algoritmo do pintor ao contrário Polígonos são pintados de frente para trás É mantida uma máscara que delimita quais porções do plano já foram pintadas Máscara é um polígono genérico (pode ter diversas componentes conexas e vários buracos ) Ao considerar cada um novo polígono P Recortar contra a máscara M e pintar apenas P M Máscara agora é M + P 05/06/
60 Algoritmo de Recorte Sucessivo Vantagens Trabalha no espaço do objecto Independente da resolução da imagem Não tem problemas de quantização em z Pinta cada pixel uma vez apenas Desvantagem Máscara pode-se tornar arbitrariamente complexa Excessivamente lento 05/06/
61 BSP-Trees São estruturas de dados que representam uma partição recursiva do espaço Muitas aplicações em computação gráfica Estrutura multi-dimensional Cada célula (começando com o espaço inteiro) é dividida em duas por um plano Binary Space Partition Tree Partição resultante é composta de células convexas (politopos) 05/06/
62 BSP-Tree 3 E 4 A 1 + D F C B 2 + A D B C E F 1 05/06/
63 BSP-Trees A orientação dos planos de partição depende da aplicação e é um dos pontos mais delicados do algoritmo de construção Ao partir colecções de objectos visa-se uma divisão aproximadamente equitativa Se estamos partindo polígonos 2D - normalmente usa-se a direcção de alguma aresta como suporte para o plano 3D - normalmente usa-se a orientação do plano de suporte do de algum polígono Se os objectos têm extensão, é importante escolher planos que interceptem o menor número possível de objectos 05/06/
64 BSP-Trees e Visibilidade BSP-trees permitem obter uma ordem de desenho baseada em profundidade Vantagem: se o observador se move, não é preciso reordenar os polígonos Bastante usada em aplicações de caminhada em ambientes virtuais (arquitectura, museus, jogos) Diversas variantes Desenhar de trás para frente (algoritmo do pintor) Desenhar de frente para trás (algoritmo de recorte recursivo) Outras... 05/06/
65 BSP-Trees - Construção Escolhe-se um dos polígonos da colecção presente na célula (ao acaso?) Não existe algoritmo ótimo Algumas heurísticas (ex.: minimum stabbing number) Divide-se a colecção em duas sub-colecções (além do próprio polígono usado como suporte) Polígonos na frente do plano Polígonos atrás do plano Divisão pode requerer o uso de recorte Partição prossegue recursivamente até termos apenas um polígono por célula 05/06/
66 BSP-Trees - Desenho Se observador está de um lado do plano de partição, desenha-se (recursivamente) Os polígonos do lado oposto O próprio polígono de partição Os polígonos do mesmo lado Pode-se ainda fazer culling das células fora do volume de visão 05/06/
67 BSP-Tree 3 E 4 A 1 + D F C B 2 + A D B C E F 1 Ordem de desenho: D E F A B C 05/06/
68 BSP-Trees Vantagens Pode ser usado para caminhadas Filtragem e anti-aliasing suportados com facilidade (desenho de trás para a frente) Algoritmo de frente para trás usado em jogos Desvantagens Desenha mesmo pixel várias vezes Número de polígonos pode crescer muito 05/06/
69 Células e Portais Ideia usada em aplicações de caminhada (walkthrough) por ambientes virtuais do tipo arquitectônico Cena composta de diversos compartimentos (quartos, salas, etc) Visibilidade é determinada convencionalmente dentro de cada compartimento (célula) Visibilidade entre células requer que luz atravesse partes vasadas das paredes tais como janelas, portas, etc (portais) Modelo de células e portais pode ser entendido como um grafo Células = vértices Portais = arestas 05/06/
70 Células e Portais 05/06/
71 Células e Portais - Algoritmo Desenhar célula C (paredes, objectos) onde o observador está Para cada célula V i vizinha à célula do observador por um portal, recortar o volume de visão pelo portal Se volume recortado não for nulo, Desenhar célula vizinha restrita à região não recortada do volume de visão Repetir o procedimento recursivamente para as células vizinhas de V i 05/06/
72 Células e Portais - Exemplo 05/06/
73 Células e Portais Visibilidade Pré-Computada Operações de recorte são complexas Volume recortado pode ter um grande número de faces Ideia: Pré-computar dados de visibilidade Conceito de observador genérico Observador que tem liberdade para se deslocar para qualquer ponto da célula e olhar em qualquer direcção Informação de visibilidade Célula a Região (estimativa exata) Célula a Célula (estimativa grosseira) Célula a Objecto (estimativa fina) 05/06/
74 Visibilidade Célula a Região 05/06/
75 Visibilidade Célula a Célula A E 1 Portal AB,BC,CD,DE 2 Portais AC,BD,CE 3 Portais AD B C D 05/06/
76 Visibilidade Célula a Objecto 05/06/
77 Células e Portais Uma vez computada a visibilidade célula-a-região, os demais dados de visibilidade são obtidos trivialmente Em 3D, o cálculo exato dos volumes de visão pode ser bastante complexo (faces quádricas) Na prática, usa-se aproximações conservadoras desses volumes (faces planas) Paper Eurographics 2000: Efficient Algorithms for Computing Conservative Portal Visibility Information Jiménez, Esperança, Oliveira 05/06/
78 Estimativa Conservadora de Volumes de Visão 05/06/
79 Células e Portais Algoritmo com Visibilidade Pré-Computada Desenhar célula C do observador Desenhar todas as células no Conjunto de Visibilidade de C Células com visibilidade não nula através de uma sequência de portais Usar z-buffer Se dados de visibilidade célula-a-objecto estiverem disponíveis, desenhar apenas os objectos visíveis 05/06/
80 Células e Portais - Resumo Versão mais utilizada requer que se pré-compute dados de visibilidade Antecede a fase de caminhada Visibilidade é aproximada Requer método auxiliar para determinação de visibilidade Vantagens Bastante eficiente em ambientes complexos com alta probabilidade de oclusão Reduz o número de objectos a serem desenhados em algumas ordens de grandeza Desvantagens Pré-processamento Não tem grande utilidade em alguns tipos de cena Ex. ambientes ao ar livre 05/06/
O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira
O Problema de Visibilidade Computação Gráfica Recorte Renato Ferreira Numa cena tri-dimensional, normalmente não é possível ver todas as superfícies de todos os objetos Queremos descartar objetos ou partes
Algoritmos de Visibilidade. Computação Gráfica Visibilidade. Backface Culling. Outras abordagens. Renato Ferreira
Algoritmos de Visibilidade Computação Gráfica Visibilidade Renato Ferreira Dado um conjunto de objetos em uma cena D, determinar o que precisa ser desenhado Visibilidade é um problema complexo w Duas abordagens
Algoritmos de Recorte em 2D
Algoritmos de Recorte em 2D Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Conceito de Recorte (Clipping) Introdução Algoritmo simples (Força Bruta) Algoritmo de Cohen-Sutherland
António Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de
RECORTE (CLIPPING) por janelas rectangulares
RECORTE (CLIPPING) por janelas rectangulares y max y min x min x max i. PONTOS P(x,y) é visível se não for exterior à janela x x max x x min y y max y y min ii. LINHAS (segmentos de recta) PQ é visível
Pipeline de Visualização 3D
Pipeline de Visualização 3D André Tavares da Silva [email protected] Capítulo 5 de Foley Capítulo 2 de Azevedo e Conci Processo de Visualização https://www.youtube.com/watch?v=ogqam2mykng Processo de
Transformações de Visualização 2D: Clipping. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro
Transformações de Visualização 2D: Clipping Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro 1 Clipping (recorte) Qualquer procedimento que identifica porções de uma figura que estão
Visibilidade. Apontamentos CG + Edward Angel, Sec Instituto Superior Técnico Computação Gráfica 2009/2010
Visibilidade Apontamentos CG + Edward Angel, Sec. 7.11 Instituto Superior Técnico Computação Gráfica 2009/2010 1 Na últimas aulas Rasterização Discretização de linhas Preenchimento de polígonos Aliasing
de Recta e Polígonos
Mário Rui Gomes Computação Gráfica 1 Recorte de Segmentos de Recta e Polígonos 1.1 Introdução Relembrando os andares do pipeline de visualização, podemos verificar que no andar anterior foi efectuada a
Computação Gráfica. Representação e Modelagem
Computação Gráfica Representação e Modelagem Professora: Sheila Cáceres Baseado nos slides da Prof. Soraia Musse Modelagem Área da Computação Gráfica que estuda a criação de modelos dos objetos reais.
Remoção de Faces Traseiras Recorte
Remoção de Faces Traseiras Recorte Edward Angel, Cap. 7 Instituto Superior Técnico Computação Gráfica 2009/2010 1 Na última aula... Câmara Virtual Simples Transformação de Visualização Volumes canónicos
Computação Gráfica - 12
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 12 [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Realismo
Transformações 3D. Soraia Raupp Musse
Transformações 3D Soraia Raupp Musse 1 Transformações 3D Translação gltranslatef(dx, dy, dz) T(dx, dy, dz): 1 1 1 dz dy dx 2 Escala glscalef(sx, Sy, Sz) S(Sx, Sy, Sz): 1 1 Sz Sy Sx Transformações 3D Rotação
Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Modelação de Sólidos Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Modelação de Sólidos Em 2D um conjunto de segmentos de recta ou curvas não formam necessariamente uma área fechada. Em 3D uma colecção
Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Ênfase na parte prática Avaliação através de trabalhos de implementação C / C++ OpenGL c/ GLUT Grau (nota) baseado
Exame Tipo Computação Gráfica
Exame Tipo Computação Gráfica LEIC-T Prof. Mário Rui Gomes Nº Nome: Antes de começar: Identifique todas as folhas com o seu número. Responda às questões seguintes justificando adequadamente todas as respostas.
Características Principais. Introdução à Computação Gráfica Ray Tracing. Ray Casting. Contexto Histórico. Claudio Esperança Paulo Roma Cavalcanti
Características Principais Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti Tipicamente implementado em Software Combina um modelo de iluminação com determinação de visibilidade
Pipeline de Visualização 2D
Pipeline de Visualização 2D André Tavares da Silva [email protected] Capítulo 2 do Foley Requisitos de matemática para CG Vetores e pontos Matrizes Transformações geométricas Pontos e espaços afim Representação
Geometria Computacional
Geometria Computacional Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Aspectos teóricos e práticos Construção e análise de algoritmos e estruturas de dados para a solucionar problemas geométricos
4 Impostores com Relevo
63 4 Impostores com Relevo I just wish... I wish I knew what I'm supposed to do. That's all. I just wish I knew. (The Matrix) 4.1 Introdução Os objetos modelados por texturas com relevo, por corrigirem
Visualização 2D: - Transformação window to viewport - Clipping
Visualização 2D: - Transformação window to viewport - Clipping Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Transformação de Visualização (window to viewport) Objectivo: obter uma matriz de transformação
Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006
Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006 Reflexões - Motivação Ainda não é possível usar algoritmos
Preenchimento de Polígonos
Preenchimento de Polígonos SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
4 Detecção de Silhueta
4 Detecção de Silhueta No decorrer deste capítulo é proposto um modelo de detecção da silhueta da mão capaz de lidar com os erros da segmentação e ruídos na sua morfologia. Num primeiro passo são considerados
Conversão por Varrimento
Conversão por Varrimento Conversão vectorial? matricial Representação Vectorial Representação Matricial 2 Rasterização de Primitivas? Rasterização - converter de uma definição geométrica para pixels (matricial)?
Computação Gráfica - 09
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 9 [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Objetos
Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Modelagem Claudio Esperança Paulo Roma Cavalcanti Histórico Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre a sua superfície. Gera modelos
Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica
Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado
Síntese de Imagem Cálculo de Visibilidade
Síntese de Imagem Cálculo de Visibilidade Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Síntese de Imagem A síntese de imagem (do inglês rendering) consiste na criação de imagens com elevado grau
2º Exame de Computação Gráfica
2º Exame de Computação Gráfica LEIC/LESIM/LCI Prof. Mário Rui Gomes Prof. João Brisson Lopes 26 de Julho de 2003 Nº Nome: Responda às questões seguintes justificando adequadamente todas as respostas. O
Prof. Dr. Leandro Alves Neves. Conceitos Fundamentais. Algoritmos de Conversão Matricial.
Informática II Conteúdo 03 Prof. Dr. Leandro Alves Neves Sumário Rasterização Conceitos Fundamentais. Algoritmos de Conversão Matricial. Polígonos Construção e Preenchimento de polígonos com formas arbitrárias
PLANO CURRICULAR DISCIPLINAR. Matemática 5º Ano
PLANO CURRICULAR DISCIPLINAR Matemática 5º Ano OBJETIVOS ESPECÍFICOS TÓPICOS SUB-TÓPICOS METAS DE APRENDIZAGEM 1º Período Compreender as propriedades das operações e usá-las no cálculo. Interpretar uma
Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca
Dispositivos de Saída e SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).
Histórico Modelagem de Objetos Renato Ferreira Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre a sua superfície. Gera modelos ambíguos. Modelagem por superfícies (década
Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial
Resolução de Problemas Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial 2 Resolução de Problemas Introdução Componentes Solução Busca de soluções 3 Resolução
Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios
Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios - 2013.1 Conceitos fundamentais 1) A Computação Gráfica é dividida em diversas sub-áreas.
Algoritmos de Ordenação
Algoritmos de Ordenação! Problema: encontrar um número de telefone em uma lista telefônica! simplificado pelo fato dos nomes estarem em ordem alfabética! e se estivesse sem uma ordem?! Problema: busca
Triangulação Mapeamento em Viewport Modelação Geométrica
Triangulação Mapeamento em Viewport Modelação Geométrica Apontamentos CG + Edward Angel, Cap Instituto Superior Técnico Computação Gráfica 29/2 Na última aula... Iluminação e Reflexão Modelo de Iluminação
Introdução ao Processamento e Síntese de imagens - Preenchimento de Polígonos
1 Introdução ao Processamento e Síntese de imagens - Preenchimento de Polígonos Júlio Kiyoshi Hasegawa Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Traina, A. J. M. & Oliveira, M. C.
UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos
UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão
BCC204 - Teoria dos Grafos
BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal
Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003
Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003 I. Introdução 1) Qual a diferença entre Processamento de Imagens, Visão Computacional
A terceira dimensão. A terceira dimensão. Modelagem tridimensional. A terceira dimensão Wilson de Pádua Paula Filho
A terceira dimensão A terceira dimensão Realidade virtual Métodos de representação tridimensional: modelos geométricos; superfícies poligonais; superfícies curvas; representações de varredura; geometria
Modelação de Formas Geométricas
Modelação de Formas Geométricas Computação Gráfica Inverno 2012/2013 Parcialmente adaptado de Hanspeter Pfister, Harvard / MERL Carlos Guedes @ 2012 ISEL/ADEETC Computação Gráfica 1 2 http://hof.povray.org/images/villarceau_circles-csg.jpg
Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D
Sumário COMPUTAÇÃO GRÁFICA E INTERFACES Transformações Geométricas e Visualização D Transformações geométricas Pipeline de visualização D Transformação de coordenadas Window-Viewport Recorte (Clipping)
REPRESENTAÇÃO NUMÉRICA DO TERRENO
RERESENTAÇÃO NUÉRICA DO TERRENO GEOÁTICA - 16ª aula odelo vectorial TIN - Triangulated Irregular Network Representação planimétrica de pontos do terreno com coordenadas, e H 16,1 14,1 11,5 H erspectiva
Tópicos Especiais em Engenharia de Software (Jogos II)
Tópicos Especiais em Engenharia de Software (Jogos II) Aula 02 Iluminação, Materiais e Shaders Edirlei Soares de Lima Unity 3D: Graphics A Unity oferece diversos elementos para a
Dados Espaciais e Indexação
Dados Espaciais e Indexação Cristina Dutra de Aguiar Ciferri Arthur Emanuel de O. Carosia 1 Tipos de Dados Espaciais Ponto: menor unidade possível para representar um objeto espacial. Linha: seqüência
❷ Uma recta e um ponto exterior à recta definem um e um só plano.
Uma resolução da Ficha de Trabalho (10.º Ano) POSIÇÕES RELATIVAS, PERSPECTIVAS, CORTES. 1. FORMAS DE DEFINIR UM PLANO: ❶ Três pontos não colineares definem um e um só plano. ❷ Uma recta e um ponto exterior
Computação Gráfica Introdução
Computação Gráfica Introdução UniverCidade - Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - [email protected] 1 Considerações Gerais Objetivo: Discutir os principais conceitos eos
1 Para expressar um ponto intermediário em função dos pontos extremos, precisamos
Resolução da Primeira Lista de Exercícios de Fundamentos de Computação Gráfica INF01047 Carlos Eduardo Ramisch Cartão 134657 Turma B Prof.ª Luciana Porcher Nedel Porto Alegre, 03 de abril de 2006. 1 Para
Geometria Computacional: Fecho convexo
Geometria Computacional: INF2604 Geometria Computacional Prof. Hélio Lopes [email protected] sala 408 RDC O que é uma região convexa? Uma região é convexa se para qualquer par de pontos dessa região,
Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos
Representação de Objetos Tridimensionais Malhas Poligonais Maria Cristina F. de Oliveira Rosane 2010 Modelo Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno
Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria
Geometria Descritiva Prof. Luiz Antonio do Nascimento [email protected] www.lnascimento.com.br A Geometria, como qualquer outra ciência, fundamenta-se em observações e experiências para estabelecer
SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais
INSTITUTO DE CIÊNCIAS MATEMÁTICAS DE SÃO CARLOS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA SCE-201 Computação Gráfica Representação de Objetos Tridimensionais Modelos Poligonais Cenas gráficas
Interseção de Semiplanos
Interseção de Semiplanos Claudio Esperança Paulo Roma 1 Interseção de Semiplanos Problema consiste em construir a região convexa dada pela interseção de um conjunto de n semiplanos H = { h 1, h 2..., h
Investigação Operacional
Métodos de Programação Linear: Big M, Fases, S Dual (Licenciatura) Tecnologias e Sistemas de Informação http://dps.uminho.pt/pessoais/zan - Escola de Engenharia Departamento de Produção e Sistemas 1 Simplex
Algoritmos geométricos
Algoritmos geométricos introdução a conceitos básicos de geometria computacional que serão abordados de forma mais avançada na disciplina Computação Gráfica disciplina de computação gráfica arquitetura
A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual
A terceira dimensão A terceira dimensão Modelagem tridimensional Elaboração tridimensional Realidade virtual 2 Modelagem tridimensional Métodos de representação tridimensional: modelos geométricos; superfícies
FACULDADE DE ARQUITECTURA DA UNIVERSIDADE TÉCNICA DE LISBOA ÁREA CIENTÍFICA DE DESENHO E COMUNICAÇÃO GRUPO DE DISCIPLINAS DE GEOMETRIA
FACULDADE DE ARQUITECTURA DA UNIVERSIDADE TÉCNICA DE LISBOA ÁREA CIENTÍFICA DE DESENHO E COMUNICAÇÃO GRUPO DE DISCIPLINAS DE GEOMETRIA MÚLTIPLA PROJECÇÃO ORTOGONAL (exercícios resolvidos) 2006 EXERCÍCIOS
Maratona de Programação da SBC 2016
Maratona de Programação da SBC 2016 Caderno de soluções A - Andando no tempo Para voltar para o exato ponto de saída, é necessário que ocorra alguma das alternativas: dois créditos são iguais ou um crédito
Poliedros 1 ARESTAS FACES VERTICES. Figura 1.1: Elementos de um poliedro
Poliedros 1 Os poliedros são sólidos cujo volume é definido pela interseção de quatro ou mais planos (poli + edro). A superfície poliédrica divide o espaço em duas regiões: uma região finita, que é a parte
Grafos: componentes fortemente conexos, árvores geradoras mínimas
Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente
Neste capítulo, definimos o problema que estudamos e descrevemos os principais algoritmos
Capítulo 2 Multi-resolução Neste capítulo, definimos o problema que estudamos e descrevemos os principais algoritmos para execução das operações primitivas escolhidas para a comparação empírica. 2.1 Definição
Computação Gráfica - OpenGl 02
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - OpenGl 02 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti
Parte 1 Cena Simples Interativa com Câmara Fixa
Computação Gráfica 2017/18 Parte 1 Cena Simples Interativa com Câmara Fixa Breve Introdução ao Tema O jogo Micro Machines foi o primeiro de uma série de jogos baseados nos famosos carros de brinquedo com
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Algoritmos de Preenchimento de Regiões
Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Classificação dos algoritmos: Preenchimento segundo contorno existente Por difusão [flood-fill]: a. Limitado por contorno b. Limitado por interior de
Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira
Modelos de Objetos por Malhas Poligonais Maria Cristina F. de Oliveira 2009 Modelo Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno Nível de detalhe
GDC I AULA TEÓRICA 08
GDC I AULA TEÓRICA 08 Perspectiva linear de quadro plano: - Aplicação do teorema de Thales para a divisão de segmentos em partes iguais. - A noção de ponto de nascença de uma recta (traço no quadro) e
APOSTILA GEOMETRIA DESCRITIVA
APOSTILA GEOMETRIA DESCRITIVA 1 GEOMETRIA MÉTRICA E ESPACIAL 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 SISTEMAS DE PROJEÇÃO Conforme o que foi exposto anteriormente, o estudo da Geometria Descritiva está
Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF
Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Objetos gráficos planares 1 Objetos gráficos: conceitos O conceito de objeto gráfico é fundamental para a Computação
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 04/2014 Zeros reais de funções Parte 1 Objetivo Determinar valores aproximados para as soluções (raízes) de equações da
Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos pontos
Exame Nacional do Ensino Secundário Decreto-Lei n.º 74/2004, de 26 de Março Prova Prática de Geometria Descritiva A 10.º e 11.º Anos de Escolaridade Prova 708/2.ª Fase 7 Páginas Duração da Prova: 150 minutos.
EXAME NACIONAL DO ENSINO SECUNDÁRIO
EXAME NACIONAL DO ENSINO SECUNDÁRIO 12.º Ano de Escolaridade (Decreto-Lei n.º 286/89, de 29 de Agosto) PROVA 408/4 Págs. Duração da prova: 150 minutos 2007 1.ª FASE PROVA PRÁTICA DE DESENHO E GEOMETRIA
1º Exame/2º Teste Computação Gráfica
1º Exame/2º Teste Computação Gráfica LEIC-Alameda/LEIC-Tagus/LERCI Prof. Mário Rui Gomes Prof. João Brisson Lopes 19 de Junho de 2004 Nº Nome: Deve escrever o seu nº em todas as páginas. Responda às questões
ção o de cortes e secçõ
Representação de cortes e secções Conceito e aplicação Tipos de corte e de secção Definição de corte e secção Alcínia Zita de Almeida Sampaio Representaçã ção o de cortes e secçõ ções Conceito e aplicação
Algoritmos e Estruturas de Dados II
Algoritmos e Estruturas de Dados II Organização Revisão (DFS) Exemplo de Execução (DFS) Grafos V: e Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis
Banco de Dados Espaciais
Banco de Dados Espaciais Disciplina BD Não Convencionais Prof. Ricardo Rodrigues Ciferri São Carlos, 20 de Agosto de 2010 Sumário Tipos de Dados Espaciais Representação dos Dados Processamento de Consultas
4. Superfícies e sólidos geométricos
4. Superfícies e sólidos geométricos Geometria Descritiva 2006/2007 4.1 Classificação das superfícies e sólidos geométricos Geometria Descritiva 2006/2007 1 Classificação das superfícies Linha Lugar das
Tecnicas Essencias Greedy e Dynamic
Tecnicas Essencias Greedy e Dynamic Paul Crocker RELEASE - Reliable and Secure Computation Group Universidade da Beira Interior, Portugal October 2010 1 / 27 Outline 1 Introdução 2 Exemplo Greedy I : Interval
Pipeline de Visualização Câmara Virtual
Pipeline de Visualização Câmara Virtual Edward Angel, Cap. 5 Instituto Superior Técnico Computação Gráfica 2009/2010 1 Na última aula... Transformações Geométricas Composição de Transformações Deformação
