Processamento de Malhas Poligonais

Documentos relacionados
Modelagem Geométrica: Boundary Representation

Processamento de Malhas Poligonais

Representação de Objectos. & Estruturas de Dados. ! Os modelos são cada vez mais complexos

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

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos

Objetos Gráficos Espaciais

Computação Gráfica. Representação e Modelagem

CONCEITOS BÁSICOS EM GRAFOS

Geometria Computacional

ATIVIDADES COM GEOPLANO ISOMÉTRICO

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

Algoritmos geométricos

Teoria da Computação. Clique de um Grafo. Alexandre Renato Rodrigues de Souza 1

CAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo:

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D

MATEMÁTICA DESCRITORES BIM4/2017

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

Grafos IFRN. Robinson Alves

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

MATRIZ DE REFERÊNCIA - SPAECE MATEMÁTICA 5 o ANO DO ENSINO FUNDAMENTAL TEMAS E SEUS DESCRITORES

Poliedros 1 ARESTAS FACES VERTICES. Figura 1.1: Elementos de um poliedro

Banco de Dados Geográficos

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF

Definição e Conceitos Básicos

Computação Gráfica - 09

DESCRITORES BIM2/2017

PLANO DE ESTUDOS DE MATEMÁTICA - 6.º ANO PERFIL DO ALUNO 1.º PERÍODO. DOMÍNIOS SUBDOMÍNIOS/CONTEÚDOS OBJETIVOS n.º de aulas

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

REPRESENTAÇÃO NUMÉRICA DO TERRENO

ATIVIDADES COM GEOPLANO QUADRANGULAR

Poliedros. INF2604 Geometria Computacional. Waldemar Celes. Departamento de Informática, PUC-Rio. W.

Pirâmides: Neste momento, continuaremos a estudar a geometria espacial dos sólidos geométricos, enfatizando agora as pirâmides.

Plano Curricular de Matemática 4.º Ano - Ano Letivo 2016/2017

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria

Ordenar ou identificar a localização de números racionais na reta numérica.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Poliedros Teoria. Superfície Poliédrica é um conjunto finito de polígonos planos cuja disposição no espaço satisfaz as seguintes propriedades:

Sistemas de Informações Geográficas

TEMA I: Interagindo com os números e funções

Metas Curriculares Conteúdos Aulas Previstas. - Números primos; - Crivo de Eratóstenes;

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Matemática. Questão 1. 7 o ano do Ensino Fundamental Turma. 2 o Bimestre de 2016 Data / / Escola Aluno RESOLUÇÃO:

Geometria Computacional

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA SIG FORMATOS DE REPRESENTAÇÃO DE DADOS FORMATO VETORIAL

Representações de Grafos

ESCOLA E B 2,3/S MIGUEL LEITÃO DE ANDRADA - AGRUPAMENTO DE ESCOLAS DE PEDRÓGÃO GRANDE DEPARTAMENTO DAS CIÊNCIAS EXATAS 2015/2016

CAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)

PCC173 - Otimização em Redes

Domínio: Geometria. CONSELHO de DOCENTES 1.º Ciclo Página 1

DEPARTAMENTO DE MATEMÁTICA INFORMÁTICA DISCIPLINA: Matemática (6º Ano) METAS CURRICULARES/CONTEÚDOS... 1º PERÍODO - (15 de setembro a 16 de dezembro)

Grafos Planares. Grafos e Algoritmos Computacionais. Prof. Flávio Humberto Cabral Nunes

Conteúdos Ideias-Chave Objectivos específicos. múltiplo de outro número, este é divisor do primeiro.

Geometria Analítica. Prof. M.Sc. Guilherme Schünemann

PLANO DE ESTUDOS DE MATEMÁTICA - 5.º ANO PERFIL DO ALUNO

AXIOMAS DA GEOMETRIA EUCLIDIANA EM ATIVIDADES EXPERIMENTAIS

António Costa. Paulo Roma Cavalcanti

5º ano do Ensino Fundamental 1º BIMESTRE EIXO: NÚMEROS E OPERAÇÕES

Cap. 2 Conceitos Básicos em Teoria dos Grafos

ESCOLA SECUNDÁRIA DE ALBERTO SAMPAIO. 1- Ângulos Definição: Chama-se ângulo à porção de plano limitada por duas semirretas com a mesma origem.

PLANIFICAÇÃO ANUAL 2015/ º Ano Matemática. METAS Domínios/Conteúdos Objetivos Descritores de Desempenho

4 º Ano Matemática. METAS Domínios/Conteúdos Objetivos Descritores de Desempenho

Plano Curricular de Matemática 6ºAno - 2º Ciclo

3 Sistema de Informação geográfica

Teoria dos Grafos. Motivação

PLANIFICAÇÃO MENSAL/ANUAL Matemática 4.ºano

Domínio Números e Operações Subdomínio Adição e subtração de números racionais não negativos. Metas/Objetivos Conceitos/Conteúdos Aulas previstas

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

SOLUCÃO DAS ATIVIDADES COM GEOPLANO ISOMÉTRICO

AGRUPAMENTO DE ESCOLAS DE VALE DE MILHAÇOS PLANIFICAÇÃO ANUAL DE MATEMÁTICA 4.º ANO DE ESCOLARIDADE

Plano Curricular de Matemática 2.º Ano - Ano Letivo 2015/2016

Geometria Computacional: Fecho convexo

Teoria dos Grafos Aula 2

Aula 3 Polígonos Convexos

Grafos Orientados (digrafos)

PLANEJAMENTO ANUAL / TRIMESTRAL 2012 Conteúdos Habilidades Avaliação

Matriz Curricular 1º Ciclo 4.ºAno / 2016 Ano de Escolaridade: 4.º Ano Matemática

Banco de Dados Espaciais

Apostila de Matemática II 3º bimestre/2016. Professora : Cristiane Fernandes

Teoria dos Grafos Conceitos Básicos

Paradigmas de Linguagens

PLANEJAMENTO ANUAL / TRIMESTRAL 2014 Conteúdos Habilidades Avaliação

Transcrição:

Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula

Introdução 06/09/2015 Processamento de Malhas Poligonais 2

Linha do tempo 06/09/2015 Processamento de Malhas Poligonais 3

Ideias Gerais De forma geral, podemos representar uma superfície poliédrica através de uma estrutura de grafos. 06/09/2015 Processamento de Malhas Poligonais 4

Ideias Gerais De forma geral, podemos representar uma superfície poliédrica através de uma estrutura de grafos. Existem dois grafos associados à uma superfície poliédrica: 1. Grafo de vértices: Induzido pelos vértices e arestas da superfície. 06/09/2015 Processamento de Malhas Poligonais 5

Ideias Gerais De forma geral, podemos representar uma superfície poliédrica através de uma estrutura de grafos. Existem dois grafos associados à uma superfície poliédrica: 1. Grafo de vértices: Induzido pelos vértices e arestas da superfície. 2. Grafo dual: Grafo cujos vértices representam as faces, e as arestas representam faces adjacentes. 06/09/2015 Processamento de Malhas Poligonais 6

Ideias Gerais 1. Grafo de vértices: Induzido pelos vértices e arestas da superfície. 2. Grafo dual: Grafo cujos vértices representam as faces, e as arestas representam faces adjacentes. 06/09/2015 Processamento de Malhas Poligonais 7

Ideias Gerais O estudo de Estruturas de Dados Topológicas consiste em desenvolver formas eficientes de codificar os grafos associados. 06/09/2015 Processamento de Malhas Poligonais 8

Ideias Gerais A representação de uma superfície pode ser vista como um banco de dados geométrico e topológico. 06/09/2015 Processamento de Malhas Poligonais 9

Ideias Gerais A representação de uma superfície pode ser vista como um banco de dados geométrico e topológico. É comum efetuar certos tipos de consulta sobre propriedades geométricas e topológicas da superfície: 06/09/2015 Processamento de Malhas Poligonais 10

Ideias Gerais A representação de uma superfície pode ser vista como um banco de dados geométrico e topológico. É comum efetuar certos tipos de consulta sobre propriedades geométricas e topológicas da superfície: 1. Achar todas as arestas que incidem em um vértice. 2. Achar todos os polígonos que compartilham uma aresta ou um vértice. 3. Achar as arestas que delimitam um polígono. 4. Visualizar a superfície. 5.... 06/09/2015 Processamento de Malhas Poligonais 11

Ideias Gerais A representação de uma superfície pode ser vista como um banco de dados. A escolha da codificação está intimamente ligada ao conjunto de operações que se deseja realizar. 06/09/2015 Processamento de Malhas Poligonais 12

Ideias Gerais A representação de uma superfície pode ser vista como um banco de dados. A escolha da codificação está intimamente ligada ao conjunto de operações que se deseja realizar. As estruturas de dados para malhas de polígonos mais aceitas pela comunidade científica são as baseadas em semi-arestas (half-edges). 06/09/2015 Processamento de Malhas Poligonais 13

Definições preliminares Half-Edge Clássica 06/09/2015 Processamento de Malhas Poligonais 14

Half-Edge Definição de Half-Edge Uma half-edge é uma aresta dotada de uma orientação induzida por um de seus triângulos incidentes. 06/09/2015 Processamento de Malhas Poligonais 15

Half-Edge Definição de Half-Edge Uma half-edge é uma aresta dotada de uma orientação induzida por um de seus triângulos incidentes. 06/09/2015 Processamento de Malhas Poligonais 16

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: 06/09/2015 Processamento de Malhas Poligonais 17

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: Vértice: Guarda um ponteiro para uma das half-edges com origem no vértice. 06/09/2015 Processamento de Malhas Poligonais 18

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: Vértice: Guarda um ponteiro para uma das half-edges com origem no vértice. Half-Edge: Guarda um ponteiro para a half-edge seguinte na face. Guarda um ponteiro para a half-edge oposta. Guarda um ponteiro para a face. Guarda um ponteiro para o vértice de origem. 06/09/2015 Processamento de Malhas Poligonais 19

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: Vértice: Guarda um ponteiro para uma das half-edges com origem no vértice. Half-Edge: Guarda um ponteiro para a half-edge seguinte na face. Guarda um ponteiro para a half-edge oposta. Guarda um ponteiro para a face. Guarda um ponteiro para o vértice de origem. Face: Guarda um ponteiro para uma de suas half-edges. 06/09/2015 Processamento de Malhas Poligonais 20

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: class H_Edge { Vertex vorig; H_Edge etwin; H_Edge enext; Face f; } class Vertex { Point3D p; H_Edge hedge; } class Face { H_Edge hedge; } 06/09/2015 Processamento de Malhas Poligonais 21

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: class H_Edge { Vertex vorig; H_Edge etwin; H_Edge enext; Face f; } class Vertex { Point3D p; H_Edge hedge; } class Face { H_Edge hedge; } Observações: Para um mesmo Vertex podem existir diversos H_Edge, porém, basta guardar um deles com origem no Vertex. 06/09/2015 Processamento de Malhas Poligonais 22

Half-Edge Estrutura de Dados A estrutura de dados half-edge define três tipos de estruturas/classes: class H_Edge { Vertex vorig; H_Edge etwin; H_Edge enext; Face f; } class Vertex { Point3D p; H_Edge hedge; } class Face { H_Edge hedge; } Observações: Na face, basta guardar uma de suas H_Edge 06/09/2015 Processamento de Malhas Poligonais 23

Definições preliminares Half-Edge Clássica 06/09/2015 Processamento de Malhas Poligonais 24

Processamento Vs Memória 06/09/2015 Processamento de Malhas Poligonais 25

Processamento Vs Memória Nível 0: Rendering. 06/09/2015 Processamento de Malhas Poligonais 26

Processamento Vs Memória Nível 0: Rendering. Nível 1: Vizinhança. 06/09/2015 Processamento de Malhas Poligonais 27

Processamento Vs Memória Nível 0: Rendering. Nível 1: Vizinhança. Nível 2: Simplexos. 06/09/2015 Processamento de Malhas Poligonais 28

Processamento Vs Memória Nível 0: Rendering. Nível 1: Vizinhança. Nível 2: Simplexos. Nível 3: Bordo. 06/09/2015 Processamento de Malhas Poligonais 29

Indexação das HEs Sai ponteiro, entra aritmética inteira. 06/09/2015 Processamento de Malhas Poligonais 30

Indexação das HEs Sai ponteiro, entra aritmética inteira. As half-edges e os polígonos são indexados por números inteiros nãonegativos. 06/09/2015 Processamento de Malhas Poligonais 31

Indexação das HEs Sai ponteiro, entra aritmética inteira. As half-edges e os polígonos são indexados por números inteiros nãonegativos. Cada triângulo é representado por 3 half-edges de índices consecutivos, que formam seu bordo orientado. 06/09/2015 Processamento de Malhas Poligonais 32

Indexação das HEs Sai ponteiro, entra aritmética inteira. As half-edges e os polígonos são indexados por números inteiros nãonegativos. Cada triângulo é representado por 3 half-edges de índices consecutivos, que formam seu bordo orientado. Ex: T 0 he 0 he 1 he 2 T 1 he 3 he 4 he 5 06/09/2015 Processamento de Malhas Poligonais 33

Aritmética Inteira Trig(he) := [he/3] Next he (he) := 3*Trig(he) + (he+1)%3 Prev he (he) := 3*Trig(he) + (he+2)%3 06/09/2015 Processamento de Malhas Poligonais 34

Tabelas G & V Na CHE as informações geométricas são armazenadas em uma tabela, denotada por G, cujos índices variam de 0 ao número de vértices da malha. 06/09/2015 Processamento de Malhas Poligonais 35

Tabelas G & V Na CHE as informações geométricas são armazenadas em uma tabela, denotada por G, cujos índices variam de 0 ao número de vértices da malha. Na CHE as half-edges são armazenadas em uma tabela, denotada por V, cujos índices variam de 0 à três vezes o número de triângulos da malha. 06/09/2015 Processamento de Malhas Poligonais 36

Half-Edges Opostas Duas half-edges são opostas quando compartilham um mesmo vértice mas possuem orientação oposta. 06/09/2015 Processamento de Malhas Poligonais 37

Half-Edges Opostas Duas half-edges são opostas quando compartilham um mesmo vértice mas possuem orientação oposta. 06/09/2015 Processamento de Malhas Poligonais 38

Tabela O Duas half-edges são opostas quando compartilham um mesmo vértice mas possuem orientação oposta. Na CHE as half-edges opostas são armazenadas em uma tabela, denotada por O, cujos índices variam de 0 à três vezes o número de triângulos da malha. 06/09/2015 Processamento de Malhas Poligonais 39

Tabela Auxiliares Na CHE outras tabelas podem ser criadas para que haja representação explícita de simplexos. 06/09/2015 Processamento de Malhas Poligonais 40

Tabela Auxiliares Na CHE outras tabelas podem ser criadas para que haja representação explícita de simplexos. Ex1: Tabela VH que armazena uma das arestas incidentes a um vértice, cujos índices vão de 0 ao número de vértices da malha. 06/09/2015 Processamento de Malhas Poligonais 41

Tabela Auxiliares Na CHE outras tabelas podem ser criadas para que haja representação explícita de simplexos. Ex1: Tabela VH que armazena uma das arestas incidentes a um vértice, cujos índices vão de 0 ao número de vértices da malha. Ex2: Tabela EH que armazena uma das half-edges que incidem sobre as arestas, cujos índices vão de 0 ao número de arestas da malha. 06/09/2015 Processamento de Malhas Poligonais 42

Tabela Auxiliares Na CHE outras tabelas podem ser criadas para que haja representação explícita de simplexos. OBS: Quando o simplexo representado for de bordo, convém armazenar uma halfedge de bordo nas tabelas auxiliares... 06/09/2015 Processamento de Malhas Poligonais 43

Definições preliminares Half-Edge Clássica Exemplo concreto 06/09/2015 Processamento de Malhas Poligonais 44

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 45

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 46

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 47

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 48

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 49

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 50

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 51

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 52

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 53

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 54

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 55

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 56

Exemplo Concreto Estrela de V 3 06/09/2015 Processamento de Malhas Poligonais 57

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 58

Exemplo Concreto 06/09/2015 Processamento de Malhas Poligonais 59

Código Fonte 06/09/2015 Processamento de Malhas Poligonais 60

Malhas Híbridas 06/09/2015 Processamento de Malhas Poligonais 61

Topologia Combinatória Estruturas de dados compactas Material complementar: Estruturas de dados topológicas escalonáveis para variedades de dimensão 2 e 3 M. Lage M.Sc. Thesis 2006 06/09/2015 Processamento de Malhas Poligonais 62