Motivação. Representar interiores dos objectos sólidos A superfície pode não ser descrita explicitamente

Documentos relacionados
Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 7. Iluminação

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

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

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

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

Acadêmico: Denilson Domingos Professor Orientador: Paulo César Rodacki Gomes FURB - Universidade Regional de Blumenau

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

Modelagem Geométrica

Modelação de Formas Geométricas

Triangulação Mapeamento em Viewport Modelação Geométrica

Fundamentos e Conceitos Básicos

Modelagem Geométrica: Boundary Representation

Computação Gráfica - 11

Computação Gráfica II

Introdução 20. Figura 1.1 Interseção entre malhas de superfícies [8]. Figura 1.2 Caso patológico de interseção de superfícies [6].

1.1(a): Malha de triângulos aproximando a forma de um golfinho. 1.1(b): Barco modelado com superfícies paramétricas (neste caso, NURBS).

António Costa. Paulo Roma Cavalcanti

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

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

Objetos Gráficos Espaciais

Computação Gráfica e Processamento de Imagens. - Sistemas 3D (conceitos básicos) Prof. Julio Arakaki

Figura 1.1: Partição do espaço contendo a esfera S.

Transformações Geométricas

Modelagem Geométrica. André Tavares da Silva. Mortenson 2006: Cap11.2 e 11.6 Foley

Modelos Geométricos Transformações

IGOT. SIG & DR Sistemas de Informação Geográfica e Detecção Remota

2 Conceitos básicos de topologia

Transformações Geométricas

António Costa. Paulo Roma Cavalcanti

REPRESENTAÇÃO DE DADOS EM CG

Modelo. Modelos de Objetos por Malhas Poligonais. Modelos Geométricos. Modelagem Geométrica

REPRESENTAÇÃO DE DADOS EM CG

1º Teste de Computação Gráfica

E. S. JERÓNIMO EMILIANO DE ANDRADE DE ANGRA DO HEROISMO. Conteúdo Programáticos / Matemática e a Realidade. Curso de Nível III Técnico Comercial

Transformações Geométricas

Programação e Computação para Arquitectura 2012/2013

Solid modeling em C.G. aula /2 IC / UFF

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

D1. Terminologia relativa a objectos espaciais na norma SDTS (Spatial Data Transfer Standard).

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

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

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

Características Principais. Introdução à Computação Gráfica Ray Tracing. Ray Casting. Contexto Histórico. Claudio Esperança Paulo Roma Cavalcanti

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

TÉCNICAS DE CAD PARA ENGENHARIA CIVIL AULA 12

MODELAGEM GEOMÉTRICA

Geometria e Informação na modelagem 2D Representação Geométrica 2D

3 Métodos de Extração de Malhas a partir de Volumes

Orbifolds e padrões no plano

Modelação 3D. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto

Representação Matemática de Sólidos

Processamento de Malhas Poligonais

h?v=5yvihredvx4 5/5/17

Visualização Científica

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

Computação Gráfica Abel J. P. Gomes. Engenharia Informática (5385) - 2º ano, 2º semestre Matemática (5828) - 2º ano, 2º semestre

Introdução à Computação Gráfica

Computação Gráfica - 09

Busca em Regiões Ortogonais

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

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)

Geometria Euclidiana II

Sistemas Gráficos e Modelos

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

Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio

A terceira dimensão. A terceira dimensão. Modelagem tridimensional. A terceira dimensão Wilson de Pádua Paula Filho

3. Achar a equação da esfera definida pelas seguintes condições: centro C( 4, 2, 3) e tangente ao plano π : x y 2z + 7 = 0.

Modelagem de Objetos. Soraia Musse

Operações booleanas com sólidos compostos representados por fronteira

Processamento de Malhas Poligonais

Ano Letivo 2015/2016. Datas dos Exames das Épocas de Recurso e Especial. Unidades Curriculares do DM

Bidimensional de Problemas de Engenharia

índice ANÁLISE SUPERIOR

SISTEMAS DE INFOMAÇÃO GEOGRÁFICA Reconhecer conceitos associados aos SIG/GIS Estabelecer um conjunto de procedimentos em função da análise a efectuar

Computação Gráfica - 09

O Problema da Colisão. Profa. Dra. Soraia Raupp Musse

Operações Booleanas na Modelagem por Pontos

Operações booleanas com sólidos compostos representados por fronteira

5HSUHVHQWDomRGRVFHQiULRV

Thiago de Almeida Bastos. Campos de Distância Amostrados Adaptativamente com Aceleração. Dissertação de Mestrado

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA PLANIFICAÇÃO ANUAL 9.

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

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA PLANIFICAÇÃO ANUAL 9.

REPRESENTAÇÃO DE DADOS EM CG

Geometria Computacional

Visibilidade Ray-Tracing

Modelo matricial. Modelo matricial. Resolução. Mundo real matriz. Píxel. Tipos de valores e dados. Geralmente cada píxel só tem um valor.

SUMÁRIO. Unidade 1 Matemática Básica

DISCIPLINA CRED CH PRÉ-REQUISITOS 1 a FASE Matemática Básica

DISCIPLINA CRED CH PRÉ-REQUISITOS 1 a FASE Matemática Básica

Notas de Aula de Um Curso de Modelagem de Sólidos

Iluminação. André Tavares da Silva. baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti

Objetos Gráficos Planares

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

aula6 Projeções Planas 2017/2 IC / UFF

Geometria Computacional - Notas de aulas. André Guedes

Curso de Fotografia 3D: Geração de Malhas com Ball-Pivoting

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

Transcrição:

Cap.8: Estruturas Geométricas Ensino de Informática (3326) - 4º ano, 2º semestre Engenharia Electrotécnica (2287) - 5º ano, 2º semestre Engenharia Informática (2852) - 4º ano, 2º semestre 1

Motivação Representar interiores dos objectos sólidos A superfície pode não ser descrita explicitamente 2

Motivação Alguns métodos de aquisição geram sólidos Ex.: CAT scan Alguns aplicações necessitam de sólidos Ex.: sistemas de CAD/CAM 3

Motivação Alguns algoritmos necessitam de sólidos Ex.: ray-tracing com refracção 4

Retrospectiva histórica Modelação por Linhas (Wireframes) Modelação por superfícies Sólido representado por arestas e vértices Gera modelos com ambiguidades Década de 60 Descrição matemática da superfície que delimita o objecto sólido Poucos testes de integridade do modelo 5

Retrospectiva histórica Modelação de Sólidos Modelação de objectos sem homogeneidade dimensional Década de 70 Implícita ou explicitamente contém informações sobre o fecho e a conectividade do objecto Garantia de realização física Sistemas de CAD/CAM Década de 80 Descrição de objectos com estrutura interna elementos remanescentes Ex: ACIS (Spatial Technology - AutoCAD) 6

Núcleos geométricos (em computação gráfica) Geometria euclideana (G, ) 1 0 0 0 0 1 0 0 0 0 1 0 Δx Δy Δz 1 Matriz de translação 1 0 0 0 0 cosθ sinθ 0 0 -sinθ cosθ 0 0 0 0 1 Matriz de rotação em torno de OX G - conjunto de transformações * - operação de concatenação Geometria afim Geometria projectiva 1 0 0 0 0 1 0 0 0 0 0 1/d 0 0 0 1 Matriz de projecção ortogonal 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Matriz de projecção perspectiva 7

Núcleos geométricos (em modelação geométrica) Geometria: semi-algébrica semi-analítica sub-analítica Operadores de forma: operadores booleanos operadores de Euler etc. Estrutura: com sem 8

Descrições de Sólidos Definição: conjunto 3-dimensional de pontos Descrições alternativas: Através da fronteira Através de campos escalares definidos por equações Através de campos escalares amostrados Estas descrições originam três tipos de representação: pela fronteira: B-Rep (boundary representation) pelas operações sobre conjuntos: CSG (constructive solid geometry) pela enumeração do espaço através de células: BSP trees, Octrees, etc. 9

B-Rep (Boundary Representation) Sólido representado pela fronteira: vértices, arestas e faces. Separação entre a estrutura (topologia) e a geometria: Um vértice tem a geometria dum ponto (x,y,z) R 3 Uma aresta tem a geometria duma linha (definida paramétrica ou implicitamente) Uma face tem a geometria duma superfície (definida paramétrica ou implicitamente) Construção através de operadores de Euler, os quais são regulados por uma fórmula de Euler. 10

Manifold B-Rep Estrutura: Estratificada:! 0-estratos: vértices! 1-estratos: arestas! 2-estratos: faces Princípios: A vizinhança de qualquer ponto dum objecto é homeomorfa a R 2. A inserção dum estrato só pode ser feita após os seus estratos fronteiros. Os estratos são limitados, i.e. tem mensuravelmente finitos. v=1 f=1 C=1 C c =1 v=4 e=4 f=2 C=1 C c =1 Fórmula de Euler: v-e+(f-f h )=C-C h +C c v-e+(f-f h )=2S-2S h 11

Operadores de Euler: makers void mvfs (Vertex**, Face**, Shell**,Point*); void mvfs (Shell*,Vertex**, Face**, Shell**,Point*); void mvfh (Face*, Vertex**,Point*); void mve (Vertex*, Edge*, Edge*, Vertex**, Edge**,Point*); void mve (Edge*, Vertex**, Edge**,Point*); void mve (Vertex*, Edge*, Face*, Vertex**, Edge**,Point*); void mef (Vertex*, Vertex*, Face*, Edge**, Face**); void mef (Vertex*, Vertex*, Edge*, Edge*, Face*, Edge**, Face**); void mef (Vertex*, Edge*, Edge*, Face*, Edge**, Face ** ); void mekfh (Vertex*, Vertex*, Face*, Edge**); void mfkfhsh (Edge*, Face**); void mfskfh (ShellType, Edge*, Face**, Shell**); 12

Operadores de Euler: killers void kvfs (Shell*); void kvfh(vertex**); void kve(vertex**,edge**); void kemfh(edge**); void kef(edge**,face**); void kfmfhsh(face*, Face*); void kfsmfh (Face*, Shell*, Face*); 13

Non-Manifold B-Rep Estrutura: Estratificada:! 0-estratos: vértices! 1-estratos: arestas! 2-estratos: faces! 3-estratos: volumes Princípios: A vizinhança de qualquer ponto dum objecto é homeomorfa a R 2. A inserção dum estrato só pode ser feita após os seus estratos fronteiros. Os estratos são limitados, i.e. tem mensuravelmente finitos. v=2 e=1 f=1 C=1 C c =1 v=5 e=6 f=4 f h =1 C=1 C c =1 Fórmula de Euler: v-e+(f-f h )-(s-s h +s c )=C-C h +C c 14

Non-Manifold B-Rep com fronteira incompleta Estrutura: Estratificada:! 0-estratos: vértices! 1-estratos: arestas! 2-estratos: faces! 3-estratos: volumes Princípios: A vizinhança de qualquer ponto dum objecto é homeomorfa a R 2. A inserção dum estrato só pode ser feita após os seus estratos fronteiros. Os estratos são limitados, i.e. tem mensuravelmente finitos. v=2 e=1 f =1 C=1 v=1 e=2 f=2 C=1 Fórmula de Euler: [v-e+(f-f h )-(s-s h +s c )]+[-e +(f -f h )-(s -s h +s c )]= [C-C h +C c ]+[-E +(F -F h )-(S -S h +S c )] 15

Exemplo: mvc mech mfkch mech mfkch 16

Sobrevisão: Representações de Sólidos B-Rep (boundary representation) CSG (Constructive Solid Geometry) Voxels Quadtrees & Octrees BSP (Binary Space Partitions) 17

CSG (Constructive Solid Geometry) Estrutura: -Não estratificada -Cobertura de objectos primitivos:! paralelipípedo (box); cone (cone)! cilindro (cylinder); esfera (sphere)! cunha (wedge); toro (torus) Princípios: Cada objecto primitivo é o resultado da combinação booleana de um ou mais semi-espaços semi-algébricos de R 3. Cada objecto composto é o resultado da combinação booleana de um ou mais objectos primitivos. Modelo matemático: Álgebra booleana de objectos semi-algébricos (A,Ω), em que A é a classe de objectos semialgébricos e Ω={,,-} definição da primitiva cilindro x 2 +y 2 9 x 2 +y 2 9 z 0 z 20 z 20 z 0 18

Objectos CSG primitivos esfera-elipsóide cilindro-tubo cone-cone truncado toro-anel paralelipípedo rectangular prisma-cumha superfície de revolução plano-semiespaço 19

CSG - álgebra booleana de sólidos A B A B A B A B A - B A B 20

Estrutura de dados CSG // CSG Node Types #define CSG_PRIM 0 #define CSG_COMP 1 // CSG Operation Structure typedef struct CsgComp { char op; struct CsgNode *lft, *rgt; } CsgComp; // CSG Tree Node typedef struct CsgNode { int type; union { struct CsgComp c; struct Prim *p; U } u; } CsgNode; 21

Estrutura de dados CSG // CSG Node Types #define CSG_PRIM 0 #define CSG_COMP 1 // CSG Operation Structure typedef struct CsgComp { char op; struct CsgNode *lft, *rgt; } CsgComp; // CSG Tree Node typedef struct CsgNode { int type; union { } u; } CsgNode; struct CsgComp c; struct Prim *p; // Primitive Constructor CsgNode *csg_prim(prim *p) { CsgNode *n = (CsgNode *) NEWSTRUCT(CsgNode); n->type = CSG_PRIM; n->u.p = p; return n; } // Composite Constructor CsgNode *csg_link(int op, CsgNode *lft, CsgNode *rgt) { CsgNode *n = NEWSTRUCT(CsgNode); n->type = CSG_COMP; n->u.c.op = op; n->u.c.lft = lft; n->u.c.rgt = rgt; return n; } 22 Fonte: http://w3.impa.br/~lvelho/i3d00/lectures/model/node3.html

Sobrevisão: Representações de Sólidos B-Rep (boundary representation) CSG (Constructive Solid Geometry) Voxels Quadtrees & Octrees BSP (Binary Space Partitions) 23

Voxels Estrutura: -Partição dum subespaço rectangular de R 3 numa grelha uniforme de células rectangulares ou voxels (à semelhança dos pixels) -Cada voxel armazena um conjunto de atributos:! ocupação cor densidade temperatura, etc. Dispositivos de aquisição: -MRI (Magnetic Resonance Imaging) -CAT (Computed Axial Tomography) Simulação: -FEM (Finite Element Method/Modeling) Vantagens: -Representação simples, intuitiva e não-ambígua -A mesma complexidade para todos os objectos -Aquisição natural para algumas aplicações -Operações booleanas triviais Desvantagens: -Representação aproximada -Requer quantidades elevadas de memória -Visualização lenta vértebra voxelizada fémur voxelizado 24 http://fam.uni-paderborn.de/applied_mechanics/research/modelling_based_on_ct-data.html

Operações booleanas de voxels Fonte: Graphics Lab - Korea University 25

Sobrevisão: Representações de Sólidos B-Rep (boundary representation) CSG (Constructive Solid Geometry) Voxels Quadtrees & Octrees BSP (Binary Space Partitions) 26

Quadtrees & Octrees Estrutura: -Partição adaptativa do espaço numa grelha não-uniforme de células rectangulares designadas por quadtree (em R 2 ) ou octree (em R 3 ) Vantagens: -Representação concisa, ou seja, requer menos memória -Operações booleanas menos triviais Desvantagens: -Representação aproximada -Visualização também lenta voxel quadtree Fonte: Graphics Lab - Korea University 27

Operações booleanas de quadtrees Fonte: Graphics Lab - Korea University 28

Conclusão: Representações de Sólidos B-Rep (boundary representation) CSG (Constructive Solid Geometry) Voxels Quadtrees & Octrees BSP (Binary Space Partitions) FIM 29