Modelação
Capítulo 4
1
Exemplo (exame)Considere a cena 2D abaixo representada, onde a posição e direcção de um veículo são
dadas pelo ponto E e pelo vector DOF, respectivamente.
a) Apresente a matriz de transformação composta 𝑀𝑈𝑉→𝑊𝐶𝑆, que realiza a mudança do referencial do veículo (UV) para o sistema de coordenadas do mundo.
b) Indique as coordenadas do pisca direito, 𝑃𝑊𝐶𝑆, no referencial do mundo.
WCS
DOF
UE
V
P
𝐷𝑂𝐹𝑊𝐶𝑆 = 1 1𝑇
𝐸𝑊𝐶𝑆 = 2 2𝑇
𝑃𝑈𝑉 = 2 4𝑇
2
𝑀𝑈𝑉→𝑊𝐶𝑆 = 𝑇 2, 2 ∙ 𝑅 −45
=1 0 20 1 20 0 1
∙cos −45 − sin −45 0sin −45 cos −45 0
0 0 1
=
ൗ22
ൗ22 2
ൗ− 22
ൗ22 2
0 0 1
1º Teste 26/10/2013
a) Apresente a matriz de transformação composta 𝑀𝑈𝑉→𝑊𝐶𝑆, que realiza a mudança do referencial do veículo (UV) para o sistema de coordenadas do mundo.
WCS
DOF
UE
V
P
𝐷𝑂𝐹𝑊𝐶𝑆 = 1 1𝑇
𝐸𝑊𝐶𝑆 = 2 2𝑇
𝑃𝑈𝑉 = 2 4𝑇
3
𝑃𝑊𝐶𝑆 =
ൗ22
ൗ22 2
ൗ− 22
ൗ22 2
0 0 1
∙241
=2 + 2 2 + 2
− 2 + 2 2 + 21
=3 2 + 2
2 + 21
1º Teste 26/10/2013
b) Indique as coordenadas do pisca direito, 𝑃𝑊𝐶𝑆, no referencial do mundo.
WCS
DOF
UE
V
P
𝐷𝑂𝐹𝑊𝐶𝑆 = 1 1𝑇
𝐸𝑊𝐶𝑆 = 2 2𝑇
𝑃𝑈𝑉 = 2 4𝑇
4
Sumário
Conceitos Geométricos
Representações Geométricas
Instanciação de Primitivas
CSG
Representação por Varrimento
B-REPS & Malhas Poligonais
Curvas e Superfícies Polinomiais
5
Conceitos Geométricos
6
Conceitos Geométricos
Lugar Geométrico
Conjunto de todos os pontos cuja localização no espaço
da cena satisfaz uma ou mais condições matemáticas
(igualdades, desigualdades, formulas)Do latim locus (plural:
loci) 7
Conceitos Geométricos
Tipos de Representação Matemática
Discreta
Nuvem de pontos Malha de triângulos Voxels
Barril et al., 2018
8
Conceitos Geométricos
Tipos de Representação Matemática
Analítica
Explícita
𝑧 = 𝐹 𝑥, 𝑦 ⟺⟺ 𝑧 = 0.5𝑥2 + 0.5𝑦2
9
Conceitos Geométricos
Tipos de Representação Matemática
Analítica
Implícita
𝐹 𝑥, 𝑦, 𝑧 = 𝑥2 + 0.5𝑦2+ 𝑧2
10
Conceitos Geométricos
Tipos de Representação Matemática
Analítica
Paramétrica
𝐩 u, v =
𝑥(𝑢, 𝑣)𝑦(𝑢, 𝑣)𝑧(𝑢, 𝑣)
,
𝑢, 𝑣 ∈ 0,1
11
Conceitos Geométricos
Convexidade/Concavidade
Objecto
Convexo
Objecto
Côncavo
12
Conceitos Geométricos
Continuidade (Smoothness)
Continuidade de
posição
Continuidade
de tangência
Continuidade de
curvatura
13
Modelação Geométrica
Cap. 4
14
Modelação Geométrica
Objectivos
“Que objecto modelar?”
“Quais as necessidades de modelação?”
“Que representação geométrica escolher?”
15
Modelação Geométrica
Representação Universal?
Não existe uma representação geométrica que
satisfaça todas as necessidades de modelação.
A diversidade de necessidades (aparência, simulação
física, manufacturação) criou uma diversidade de
representações geométricas.
16
Propriedades Desejáveis para as Representações
Modelação Geométrica
17
Propriedades Desejáveis para as Representações
6 Propriedades
Universalidade
Fidelidade
Unicidade
Exactidão
Validação
Compacticidade
18
Instanciação de PrimitivasModelação Geométrica
19
Instanciação de Primitivas
Agrupamento de Primitivas Modelação a partir de instâncias da mesma forma
geométrica
Primitiva: objecto geométrico 3D com parâmetros
bem definidos
20
Instanciação de Primitivas
Agrupamento de Primitivas
Obriga a definição previa de cada primitiva que é
realizada uma única vez
21
Instanciação de Primitivas
Agrupamento de Primitivas
22
CSG: Constructive SolidGeometry
Modelação Geométrica
23
Constructive Solid Geometry
Sólidos & Álgebra Booleana Modelação a partir de um conjunto de primitivas
hierarquicamente estruturado aplicando álgebra
booleana
Adaptado da Wiki
24
Constructive Solid Geometry
Sólidos & Álgebra Booleana Árvore binária:
folhas primitivas
nós objectos intermédios
raiz objecto final
Adaptado da Wiki
raíz
folhas
nós
25
Operações Booleanas
Transformações geométricas mais comuns
Translação, Rotação, Escalonamento
Constructive Solid Geometry
Sólidos & Álgebra Booleana
Tsuzuki et al. 2007
𝐴 ∪ 𝐵 A⋂𝐵 A − 𝐵 𝐵 − 𝐴 (𝐴 − 𝐵) ∪ (𝐵 − 𝐴)
união intersecção diferença A\B diferença B\A diferença
simétrica
26
Representação por VarrimentoModelação Geométrica
27
Representação por Varrimento
Sólidos de Extrusão e Revolução Modelação a partir de um objecto plano (secção
bidimensional) deslocado segundo uma trajectória
Exemplos familiares: cubo, cilíndro, cone, esfera, toro
28
Representação por Varrimento
Sólidos de Revolução e Extrusão Trajectória linear Extrusão
Trajectória circular Revolução
29
Representação por Varrimento
Sólidos de Revolução e Extrusão Trajectória & secção arbitrárias Cilíndro
Generalizado
30
B-REPSModelação Geométrica
31
Representação de Fronteira
Elementos de Superfície
Modelação a partir de elementos de superfície que
limitam os objectos
Elementos de superfície
Formas simples (superficies cónicas, cilíndricas, esféricas,
poligonais)
Formas complexas (splines, NURBS)
Múltiplos elementos (malha poligonal, surface patches)
32
Representação de Fronteira
B-REPS
-
Objecto CSG B-REPS
33
Representação de Fronteira
B-REPS
34
Representação de Fronteira
Lado Interno e Externo É necessário convencionar o lado interno e externo
da superfície
35
Modelos de Malha PoligonalModelação Geométrica
36
Modelos de Malha Poligonal
Malha Poligonal & Tesselação Malha poligonal: enumeração de uma colecção de
vértices, lados e polígonos interligados numa malha
James Robbins (2018)
nº de triângulos: 413.9k
nº de vértices: 224.7k
37
Modelos de Malha Poligonal
Malha Poligonal & Tesselação Tesselação: superfície geométrica composta por
polígonos descritos em relação ao sólido poliédrico
ou superfície curvilínea
Botsch et al., 2007
superfície
curvilínea
diferentes
níveis de
tesselagem
38
Modelos de Malha Poligonal
Interior/Exterior à Malha Poligonal
Convenção:
enumeração dos vértices do polígono no sentido directo
(anti-hórário)
• a normal apontará para o exterior da superfície poligonal
1
3
2
→n
39
Modelos de Malha Poligonal
Critérios de Continuidade e Fecho
Uma malha poligonal é contínua e fechada sse:
cada vértice deve ser partilhado pelo mínimo de 3 lados
cada lado une 2 vértices
cada lado é partilhado por um mínimo de 2 de polígonos
adjacentes (i.e., nº par de polígonos adjacentes)
cada polígono é descrito por uma sequência ordenada e
fechada de, pelo menos, 3 vértices ou 3 lados
40
Modelos de Malha Poligonal
Tipos de Malha Poligonal
Malha poligonal de lista explícita
Malha poligonal de lista de vértices
Malha poligonal de lista de lados
41
Modelos de Malha Poligonal
Tipos de Malha Poligonal
Malha poligonal de lista explícita
Pi = {V1, V2,…,Vn} = {(x1, y1,z1), (x2, y2,z2),…, (xn, yn,zn)}
P = {P1, P2,…,Pm }
(algumas) vantagens (algumas) desvantagens
útil para malhas poligonais com
muito poucos polígonos
útil quando o processamento
cada polígono não depende de
outros polígonos
utilização ineficiente de memória
(um vértices é armazenado tantas
vezes quanto o nº de poligonos
que o possuem)
não contém informação sobre
vértices e lados comuns aos
polígonos adjacentes42
Modelos de Malha Poligonal
Tipos de Malha Poligonal
Malha poligonal de lista de vértices
V = {V1, V2,…,Vn} = {(x1, y1,z1), (x2, y2,z2),…, (xn, yn,zn)}
Pi = {V1, V2,…,Vn}
P = {P1, P2,…,Pm }
(algumas) vantagens (algumas) desvantagens
descrição + compacta
edição de um vértice é explícita
e feita uma única vez
utilização ineficiente de
memória (duplicação de lados)
ineficiente para determinar
adjacências de polígonos
43
Modelos de Malha Poligonal
Tipos de Malha Poligonal
Malha poligonal de lista de lados
V = {V1, V2,…,Vn} = {(x1, y1,z1), (x2, y2,z2),…, (xn, yn,zn)}
L = {L1, L2,…,Lm}
Lj = {Vo, Vp, Pq [, Pf ,…,Pt]}
Pi = {Ld, Le, Lf [,…,Lh]}
P = {P1, P2,…,Pm }
(algumas) vantagens (algumas) desvantagens
eficiente para determinar
adjacências de polígonos
edição de um vértice é explícita
não permite determinar que
lados concorrem num dado
vértice
44
Modelos de Malha Poligonal
Operações sobre Malhas Poligonais
As operações mais comuns sobre malhas
poligonal são:
reconhecimento das coordenadas dos vértices de cada lado
que compôem cada polígono
determinar que lados concorrem num dado vértice
determinar os vértices de um dado lado
determinar os polígonos que partilham um dado lado ou
vértice
verificar a consistência da malha, determinando faltas de
vértices, lados ou polígonos
45
Modelos de Malha Poligonal
Verificação da Consistência
Fontes de erro na geração de malhas:
utilizadores ao definirem a malha
46
Modelos de Malha Poligonal
Verificação da Consistência
Fontes de erro na geração de malhas:
geradores automáticos de malha
47
Modelos de Malha Poligonal
Verificação da Consistência (1/2)
A consistência de uma malha poligonal deve
atender aos seguintes critérios:
todos os polígonos devem ser fechados
todos os lados devem ser referenciados pelo menos 1 vez
(malha aberta) / 2 vezes (malha fechada)
cada vértice deve ser referenciado por pelo menos 2 lados
(malha aberta) / 3 lados (malha fechada)
malhas planas: verificar se polígonos com mais do que 3
lados ou vértices são planos
48
Modelos de Malha Poligonal
Verificação da Consistência (2/2)
A consistência de uma malha poligonal deve
atender aos seguintes critérios:
um lado não deve ser referenciado 2 ou mais vezes num
mesmo polígono
um vértice deve pertencer a, pelo menos, 1 polígono
os lados não podem possuir comprimento nulo
malha poligonal de lista de lados: 1 polígono não pode
referenciar 1 lado se este, por sua vez, não referenciar o
polígono
49
Curvas e Superfícies
© 2009-2019 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UL
Edward Angel, Cap. 10
50
Curvas CúbicasCurvas e Superfícies
51
Curvas Cúbicas
Expressão Paramétrica Modelação a partir de curvas paramétricas de 3º grau
Representação flexível
segmento de curva t = 0 (ponto inicial)
t = 1 (ponto final)
T T
52
Curvas Cúbicas
Expressão Paramétrica
53
Curvas Cúbicas
Expressão Paramétrica
matriz base
Cte para cada tipo de curva
(Hérmite, Bézier, …)
matriz de vectores geométricos
pontos ou tangentes à curva
54
Curvas Cúbicas
Expressão Paramétrica
Exemplo Interactivo:
https://threejs.org/examples/#webgl_geometry_spline_editor
55
https://threejs.org/examples/https://threejs.org/examples/
Curvas Cúbicas
Curva e Polilinha
curva
cúbica
(3º grau)
polilinha
(1º grau)
polilinha são aproximações de 1º grau de linhas
curvas
aproximação exacta requer um grande nº de
segmentos de recta
56
Curvas Cúbicas
Continuidade Geométrica Curva cúbica = conjunto de segmentos de curvas
G0: curvas coincidem numa das extremidades
G1: G0 & vectores tangentes têm a mesma direcção
1
2
3
4
5
67
Q1(t) Q2(t)
57
Curvas Cúbicas
Continuidade Geométrica Vector tangente
58
Superfícies BicúbicasParamétricas
Curvas e Superfícies
59
Superfícies Bicúbicas Paramétricas
Expressão Paramétrica generalização das curvas cúbicas paramétricas
cada elemento de superfície corresponde a uma
sequência contínua e ordenada de curvas cúbicas
David Solomon, Cap. 1
t
st = 0.0
t = 1.0
t = 0.2
t = 0.4
t = 0.6
t = 0.8
60
Trabalho de Casa
Leitura do Capítulo 4
(excepto 4.1.6, 4.2.1.3-5, 4.2.2)
61