Remoção de Faces Traseiras Recorte



Documentos relacionados
Pipeline de Visualização Câmara Virtual

Transformações 3D. Soraia Raupp Musse

de Recta e Polígonos

1º Teste de Computação Gráfica

Pipeline de Visualização 3D

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark. 1º Exame 29 Junho de 2010

2º Exame Computação Gráfica

Introdução à Computação Gráfica Recorte. Claudio Esperança Paulo Roma Cavalcanti

O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira

Universidade Federal de Alagoas Instituto de Matemática. Câmera Virtual. Prof. Thales Vieira

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Exame de Recurso 29 de Junho de 2011

MÉTODOS DE REPRESENTAÇÃO

Transformações de Visualização 2D: Clipping. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

Pipeline de Visualização Câmara Virtual

1º Exame. Computação Gráfica

Nesta aula iremos continuar com os exemplos de revisão.

Corte total. Qualquer pessoa que já tenha visto um regis- A U L A

1º Exame. Computação Gráfica

1º Teste Computação Gráfica

Exame de 1ª Época Computação Gráfica

Modelos de Iluminação e Reflexão

Primitivas Gráficas. Prof. Márcio Bueno Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof.

4.2 Produto Vetorial. Orientação sobre uma reta r

1º Exame Computação Gráfica

NÍVEL BÁSICO CAPÍTULO III

Desenho e Projeto de tubulação Industrial

Exame Tipo Computação Gráfica

>> EXERCÍCIOS SEMANA 8 (5/11 a 9/11)

Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG

RECORTE (CLIPPING) por janelas rectangulares

Objetos definidos no seu próprio sistema de coordenadas

CAPÍTULO 3 PROBLEMA 3.1

Exame de Época Especial Computação Gráfica

Pipeline Gráfico Cluter & Durand, MIT

>> EXERCÍCIOS SEMANA 11 (26/11 a 30/11)

Apresentação - GDC I. 1ª Semana (17/09 a 21/09)

9 PROJEÇÕES ORTOGONAIS. 9.1 Introdução

(x, y) = (a, b) + t*(c-a, d-b) ou: x = a + t*(c-a) y = b + t*(d-b)

1º Teste Computação Gráfica

REFLEXO DO PONTO, SEGMENTO DE RECTA E FIGURA GEOMÉTRICA NUM ESPELHO VERTICAL

Visualização 2D: - Transformação window to viewport - Clipping

GDC I AULA TEÓRICA 09

Computação Gráfica. Exame de Época Especial de. Nº Nome:

Desenho Técnico. Desenho Projetivo e Perspectiva Isométrica

Introdução à Computação Gráfica Visibilidade e Recorte

Visualização Tridimensional

Projeção ortográfica da figura plana

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global Quinta-feira, 25 de abril

GeoMafra SIG Municipal

Caderno de Respostas

Resumo. Maria Bernadete Barison apresenta aulas práticas sobre RETAS em Desenho Geométrico. Geométrica vol.1 n.1d RETAS CAD

Geometria Espacial Elementos de Geometria Espacial Prof. Fabiano

I: Aplicação. Descritiva. propriedade mais. importante. (vista

Preenchimento de Áreas e de Polígonos. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

Enquadramento e Conceitos Fundamentais

Visualização e Projeções

Introdução ao Processamento e Síntese de imagens Recorte 2D

Matemática. Subtraindo a primeira equação da terceira obtemos x = 1. Substituindo x = 1 na primeira e na segunda equação obtém-se o sistema

Questão 1. Questão 3. Questão 2. alternativa E. alternativa B. alternativa E. A figura exibe um mapa representando 13 países.

Animação e Visualização Tridimensional

GeoMafra Portal Geográfico

Laboratório Virtual Kit Óptico

Cap. 7 Coloração (Shading) e Iluminação Global

Algoritmos de Recorte em 2D

ESTEREOSCOPIA. A reconstrução 3-D pode ser realizada em três condições

Projeção ortográfica

Exame Nacional de a chamada

Projeções e Visualização

TESTE INTERMÉDIO DE MATEMÁTICA B 10.º ANO RESOLUÇÃO

Visibilidade. Apontamentos CG + Edward Angel, Sec Instituto Superior Técnico Computação Gráfica 2009/2010

TIPOS DE REFLEXÃO Regular Difusa

MESTRADO EM CIÊNCIAS DA COMPUTAÇÃO COMPUTAÇÃO GRÁFICA PROF A. CARLA FREITAS SISTEMA DE MODELAGEM DE SÓLIDOS POR SWEEP ROTACIONAL RELATÓRIO

Aplicações de Programação CNC/ISO com Microcomputador

Relação de Euler nos prismas V= número de vértices A= número de arestas F= número de faces

EXAME NACIONAL DO ENSINO SECUNDÁRIO

REFLEXÃO DA LUZ: ESPELHOS 412EE TEORIA

Diagramas de Fases Ternários

Roda de Samba. Série Matemática na Escola

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS DEPARTAMENTO DE CIÊNCIAS DA COMUNICAÇÃO, ARTES. Diploma: Diploma de 1º Ciclo Total ECTS: 6

Transcrição:

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 Transformações de Normalização Transformação de Projecção

Sumário Remoção de Faces Traseiras Back-face Culling Recorte

Computação Gráfica Câmara Virtual Simples

Câmara Virtual Simples Parâmetros de entrada posição (VRP) orientação (VPN, VUV ) localização do plano de visualização (D) dimensões da janela de visualização w, h, RA e FOV (vertical e horizontal) planos de recorte através das distâncias F e B sobre VPN projecção ortográfica ou perspectiva 5

Câmara Virtual Simples B ângulos de abertura (FOVs) D VUV (view up vector) F VRP VPN-direcção de visualização (view plane normal) plano de recorte anterior plano de recorte posterior Janela de visualização 2w x 2h 6

Computação Gráfica Pipeline de Visualização 3D

Pipeline de Visualização 3D 8

Pipeline de Visualização 3D 9

Computação Gráfica Remoção de Faces Traseiras

Faces Traseiras Requisitos Objecto é um poliedro sólido faces poligonais envolvem o volume O interior não é exposto pelo recorte Conclusão Faces traseiras não são visíveis Faces Traseiras? Solução Identificar faces traseiras Remover da cena

Identificar Faces Traseiras Como identificar faces traseiras? Calcular o ângulo entre a normal e a VPN? N N V Front-Face > 90 o < 90 o Back-Face Não é eficiente!

Identificar Faces Traseiras Como identificar faces traseiras? Usar produto interno Normal ao polígono (N) Vector de visualização (V) < 0 Polígono visível = 0 Arestas visíveis > 0 Polígono invisível (back-face) Cálculos em coordenadas de visualização (VRC) N N V Front-Face > 90 o < 90 o Back-Face

Identificar Faces Traseiras Como identificar faces traseiras? Usar produto interno ( N V > 0 back-face) Cálculos em coordenadas da câmara (VRC) É mesmo necessário calcular o produto interno? Não! Basta verificar a componente Z da normal!! N Z > 0 back-face N N Z Front-Face > 90 o < 90 o V Back-Face

Remover Faces Traseiras Em poliedros convexos RSO fica completa com back-face culling Em poliedros côncavos Algumas front-faces podem estar totalmente ocultas (E) parcialmente ocultas (C) z A B D C H E F G x

Back-Face Culling Remoção de faces traseiras Remove (aprox.) metade dos polígonos Limitações Apenas funciona em Modelos sólidos Definidos com malhas poligonais Para volumes não convexos Objectos definidos com outra representação: Convertidos em malhas poligonais Apenas serve como passo de pré-processamento É necessário usar outro algoritmo

Computação Gráfica Pipeline de Visualização 3D

Pipeline de Visualização 3D 18

Pipeline de Visualização 3D 19

Computação Gráfica Recorte

Volume de Visualização Sobre que volume de visualização é feito o recorte? Volume Perspectivo (Frustum)? Volume Ortogonal? Volume Canónico Perspectivo? Volume Canónico Ortogonal? Onde estamos no pipeline 3D? 2º Andar, 3º Passo Recorte de Polígonos Qual o volume de visualização Que temos neste ponto? 21

Recorte (1/3) Usa volume canónico ortogonal Paralelepípedo z [0..1], x,y [-1..1] (-1, 1, 0) y (-1, 1, 1) plano de recorte posterior (z = 1) plano de recorte anterior (z = 0) (-1, -1, 0) x (1, -1, 0) (1, 1, 1) z (-1, -1, 1) (1, -1, 1)

Recorte (2/3) Elimina primitivas fora do volume canónico Objectos, vértices, arestas e faces

Recorte (3/3) Vértices: Comparar x e y com +/- 1 z com 0 e 1 Conservar se dentro dos limites, eliminar se fora Arestas Calcular intersecção com planos de recorte Determinar valores x, y, z na intersecção Conservar parte da aresta dentro do volume Recorte 3D extensão trivial de recorte 2D

Computação Gráfica Recorte 2D

Recorte de Linhas F D E F Rectângulo de Recorte B A G C G I D I H J H J Recorte A B C G D H (x min X X max ) e (Y min Y Y max ) ponto dentro Extremos dentro [AB]: segmento dentro Um fora outro dentro [CD] Determinar ponto de intersecção [D ] Rejeitar exterior Ambos fora [GH ou IJ]: Determinar pontos de intersecção se houver [GH], usá-los rejeitar se não [IJ]

Recorte de Linhas: Força Bruta Testar extremos contra rectângulo de recorte Tratar os casos triviais de inclusão total Casos não triviais: usar equação paramétrica da recta X = X 0 + t (X 1 - X 0 ) Y = Y 0 + t (Y 1 - Y 0 ) Resolver equações simultâneas segmento de recta (t line ) 4 lados do rectângulo (t edge ) Existe intersecção se: 0 t line 1 e 0 t edge 1

Computação Gráfica Recorte 2D Algoritmo de Cohen-Sutherland

Algoritmo de Cohen-Sutherland (1/5) Usa Outcodes divide plano em 9 regiões 1001 1000 1010 1º Bit: Acima do lado superior (Y > Ymax) 0001 0000 0010 2º Bit: Abaixo do lado inferior (Y < Ymin) 3º Bit: À direita do lado direito (X > Xmax) 0101 0100 0110 4º Bit: À esquerda do lado esquerdo (X < Xmin) Casos triviais: OC 1 = OC 0 = 0000 => aceita OC 1 & OC 0 0000 => rejeita (semiplano ext.)

Algoritmo de Cohen-Sutherland (2/5) Restantes Casos (OC 1 & OC 0 = 0) Subdividir segmento inicial: Corte através de um lado da janela atravessado Partir de um extremo exterior Testar outcode para escolher próximo lado de recorte (bit a 1) Descartar o fragmento exterior Se fragmento interior trivialmente tratável o processo termina. Caso contrário, subdividi-lo repetir o processo.

Algoritmo de Cohen-Sutherland (3/5) Exemplo D 1000 1010 1001 C B 0000 A Rectangulo de Recorte 0010 0100 Recorte de [AD] Subdividir pelo lado superior [AB] e [BD]. Descartar fragmento exterior [BD]. Aceitar trivialmente [AB] (OC A = OC B = 0)

Algoritmo de Cohen-Sutherland (4/5) Exemplo 1001 1000 1010 I Rectangulo de Recorte 0000 G 0010 H 0100 F E Partir de E e subdividir por baixo [EF] e [FI] Descartar [EF] [FI] não trivial Subdividir [FI] pelo lado superior [FH] e [HI]. Descartar [HI] [FH] não trivial (OC H = 0010). Subdividir [FH] pelo lado direito [FG] e [GH]. Descartar [GH] Aceitar [FG] (OC F = OC G = 0).

Algoritmo de Cohen-Sutherland (5/5) Eficiente em duas situações: Janelas rectangulares grandes Rectângulo abrange quase toda as linhas Grande parte dos segmentos trivialmente aceites Pick (selecção de objectos), Rectângulo de recorte pequeno Centrado na posição do cursor Muitos segmentos trivialmente rejeitados

Próxima Aula Recorte Algoritmo de Cyrus-Beck Algoritmo de Sutherland-Hodgman 35