Slides Computação Gráfica - ULisboa · , que realiza a mudança do referencial do veículo (UV)...

61
Modelação Capítulo 4 1

Transcript of Slides Computação Gráfica - ULisboa · , que realiza a mudança do referencial do veículo (UV)...

  • 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