37
1 Formas e Modelos Geométricos Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

Embed Size (px)

Citation preview

Page 1: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

1

Formas e Modelos Geométricos

Antonio L. BajuelosDepartamento de Matemática

Universidade de Aveiro

Page 2: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

2

Representação Tridimensional IntroduçãoIntrodução

Os factos: Os objectos do mundo físico possuem formas altamente

diversificadas. Seria impossível criar um programa gráfico que contivesse cada

uma destas possíveis formas. O que podemos fazer:

Desenvolver recursos que permitam a construção de um objecto qualquer a partir de primitivas e propriedades comuns entre os objectos.

Um par de exemplos: A geração de polígonos permite representar uma série de

objectos com forma euclidiana, que vão desde esferas, elipsóides e toros até pirâmides e edifícios.

Objectos naturais como montanhas, nuvens, árvores, folhas, flores e relva podem ser modelados através de fractais.

Page 3: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

3

Representação Tridimensional Introdução (cont…)Introdução (cont…)

Mas como? A representação tridimensional pode ainda ser realizada

de duas maneiras distintas: através da representação de fronteira –

os objectos são descritos como um conjunto de superfícies que separam seu interior do meio-ambiente (exterior);

através da representação de subdivisão de espaço – os objectos são representados através das propriedades de

cada ponto no seu interior. Este tipo de representação é utilizado quando deseja-se

analisar o interior de objectos, como por exemplo o corpo humano.

Page 4: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

4

Representação TridimensionalSuperfícies poligonais A forma mais comum de representação tridimensional é

através de um conjunto de superfícies poligonais que delimitam o interior de um objecto.

O software gráfico geralmente traduz a descrição do objecto em termos de superfícies poligonais.

Motivação: Polígonos são peças de aproximação de curvas reais Numa superfície curva quanto mais aproximações tivermos, mais

perfeita é a modelação da superfície real Pequenos segmentos (curvos ou rectos) aproximam da curva real

Page 5: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

5

Representação TridimensionalSuperfícies poligonais Vantagem fundamental da utilização das superfícies

poligonais para a representação de curvas: A vantagem deste método é que as superfícies planas formadas

permitem um tratamento através de equações lineares, o que acelera o cálculo.

Exemplo: Um poliedro pode ser facilmente representado por superfícies

poligonais como por exemplo o cubo, o icosaedro, o tetraedro.

Page 6: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

6

Representação TridimensionalSuperfícies poligonais (cont…) Um polígono pertencente a um dado objecto é caracterizado pelo

conjunto de vértices que o constitui e pelos atributos da sua superfície, como por exemplo a reflectividade, a transparência, etc.

Uma das formas mais utilizadas na representação de superfícies poligonais é através de 3 tabelas, contendo respectivamente

uma lista de vértices

uma lista de arestas

uma lista de polígonos

A lista de arestas faz referência à tabela de vértices para definir todas as arestas do objecto.

De forma análoga, a tabela de superfície de polígonos utiliza a tabela de arestas para formar os elementos poligonais do objecto.

Page 7: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

7

Representação TridimensionalSuperfícies poligonais (cont…) Exemplo:

Page 8: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

8

Representação TridimensionalSuperfícies poligonais (cont…)

Observações: Uma outra forma de armazenar estas informações seria com somente

duas tabelas: a de vértices e a de polígonos. Neste caso, contudo, algumas arestas podem ser traçadas duas vezes.

Outra alternativa é manter apenas a tabela de polígonos, mas além de inviabilizar a apresentação da estrutura de arame, também aumenta a necessidade de memória pois cada vértice pode aparecer em vários polígonos.

Page 9: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

9

Representação TridimensionalAproximação vs Interpolação A aproximação e interpolação de curvas através de uma

série de pontos dados constitui uma das mais poderosas ferramentas da computação gráfica.

Compromisso: Os pontos de uma superfície curva são discretos, então a

representação destas superfícies pode ficar comprometida pois a restituição da imagem apresenta geralmente as junções (picos) entre os polígonos que a constituem

Por outro lado, a redução do intervalo entre os pontos acarreta, além de um maior tempo de processamento da imagem, também uma dificuldade maior na armazenagem e na colecta dos pontos da superfície.

A determinação de tais superfícies constitui o processo denominado de aproximação e interpolação

Page 10: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

10

Representação TridimensionalAproximação vs Interpolação (cont…) Quando a curva obtida passa obrigatoriamente por todos os pontos

dados, tem-se a interpolação (curve fitting), isto é:

pode-se obter as coordenadas de pontos intermediários entre dois

pontos quaisquer interpolando-se a curva neste intervalo.

Por outro lado, quando a curva “suaviza a rugosidade” dos pontos

sem necessariamente passar por nenhum deles (excepto, talvez, os

pontos das extremidades), então tem-se a aproximação (curve

fairing)

Page 11: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

11

Representação TridimensionalAproximação vs Interpolação (cont…) Para assegurar a transição da curva entre os pontos,

utiliza-se de critérios de continuidade. Um critério de ordem zero estabelece que as curvas devem

encontrar-se num ponto. Um critério de primeira ordem garante que, além das curvas

encontrarem-se no ponto, as derivadas de ambos os segmento são também iguais neste ponto.

Um critério de segunda ordem faz com que também as segundas derivadas sejam iguais,

Page 12: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

12

Representação TridimensionalAproximação vs Interpolação (cont…) Uma curva que ajusta (fit) –

A curva obtida passa por todos os pontos. Uma técnica usual de ajuste de curvas são os splines

cúbicas, uma estratégia de aproximação polinomial por partes.

No processo de aproximação - A curva obtida pode não passar por nenhum dos pontos

dados pelo que se diz que a curva aproxima (fair) os dados

Para esse caso, técnicas usuais são as representações de Bézier e B-Splines

Page 13: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

13

Representação TridimensionalRepresentações não paramétricas Explicita:

Para uma curva plana, a forma não paramétrica explicita é dada por a seguinte equação: y = f(x)

Exemplo:

A equação de uma recta é dada por y = mx + b

Atenção: Curvas fechadas, ou com valores múltiplos, como um círculo, não podem ser representadas explicitamente.

Essa limitação não existe no caso de representações Implícitas, na forma f(x, y) = 0

Page 14: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

14

Representação TridimensionalRepresentações não paramétricas (cont…) A equação implícita de segundo grau genérica:

ax2 + 2bxy +cy2 +2dx +2ey + f = 0

Engloba uma variedade de curvas bi-dimensionais denominadas secções cónicas.

Os três tipos de secções cónicas são: a parábola, a hipérbole e a elipse (um círculo é um caso especial de uma elipse).

Dependendo dos valores a, b, c, d, e e f, diferentes tipos de secções cónicas são produzidas.

Page 15: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

15

Representação Tridimensional

Representações não paramétricas (cont…) Limitações desta representação:

Ambas (explícita e implícita) são dependentes do sistema de coordenadas.

Pontos em uma curva calculados a partir de incrementos uniformes em x ou y não estão distribuídos uniformemente ao longo da curva o que afecta a qualidade e precisão da representação gráfica.

Page 16: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

16

Representação TridimensionalRepresentações Paramétricas (cont…) Na forma paramétrica, cada coordenada de um ponto em

uma curva é representada como uma função de um único parâmetro, sendo que a posição de um ponto na curva é fixada pelo valor do parâmetro.

Por exemplo: para uma curva 2D que usa t como parâmetro, as coordenadas

cartesianas de um ponto na curva são: x = x(t) e y = y(t) O vector que define a posição de um ponto na curva é portanto

dados por P(t) = [ x(t), y(t) ] A derivada, ou vector tangente da curva é dada por

P’(t) = [ x´(t), y’(t)] A inclinação da curva é dada por

/ '( )

/ '( )

dy dy dt y t

dx dx dt x t= =

Page 17: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

17

Representação TridimensionalRepresentações Paramétricas (cont…) Observações gerais:

A forma paramétrica é usada para representar curvas fechadas e com valores múltiplos.

Uma vez que um ponto na curva é especificado por um único valor de parâmetro, a forma paramétrica é independente do sistema de coordenadas.

Os extremos e o cumprimento da curva são fixos pelo intervalo de variação do parâmetro, frequentemente normalizado para 0≤ t ≤ 1, por conveniência.

Como as curvas são independentes do sistema de coordenadas, elas são facilmente manipuladas utilizando as transformações geométricas afins.

Determinar um ponto em uma curva dado x é trivial no caso da representação explícita. No caso da paramétrica, é necessário obter o valor do parâmetro t a partir de x, e a seguir usar este valor para obter y.

Page 18: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

18

Representação TridimensionalRepresentações Paramétricas (cont…) Exemplos:

Page 19: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

19

Representação TridimensionalRepresentações Paramétricas (cont…) Exemplos:

“Pontos em uma curva calculados a partir de incrementos uniformes em x ou y não estão distribuídos uniformemente ao longo da curva o que afecta a qualidade e precisão da representação gráfica”

Representação Não Paramétrica vs Paramétrica (primeiro quadrante de uma circunferência)

y x x= − ≤ ≤1 0 12 ,

( ) ( )[ ]cos / ,sen / ,π πt t t2 2 0 1 ≤ ≤

Page 20: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

20

Representação TridimensionalRepresentações Paramétricas (cont…) Atenção!

Não existe uma única representação paramétrica de uma curva.

Exemplo: as seguintes representações descrevem o primeiro quadrante de uma circunferência:

Para a mesma curva pode ser escolhida a representação paramétrica mais conveniente em função de

custo computacional facilidade de armazenamento uniformidade do passo

( ) ( )[ ]cos / ,sen /

, ,

π πt t

t

t

t

t

2 2

1

1

2

1

2

2 2

e

−+ +

Page 21: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

21

Representação TridimensionalCurvas cúbicas paramétricas As curvas cúbicas paramétricas podem ser obtidas com

base em polinomiais de grau 3 Na forma algébrica (em função do parâmetro u):

x(u) = axu3 + bxu2 + cxu + dx

y(u) = ayu3 + byu2 + cyu + dy

z(u) = azu3 + bzu2 + czu + dz

Na forma vectorial:

P(u) = [au3+bu2+cu+d] com u ∈ [0,1]

Page 22: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

22

Representação TridimensionalCurvas cúbicas paramétricas (cont…) Exemplo:

x = 2u2 + 1;

y = u3 + u2;

z = 3u - 2P(0) = [1, 0, -2]

P[0.5] = [1.25, 0.375, -0.5]

P[0.8] = [2.024, 1.152, 0.4]

P[1] = [3, 2, 1]

Page 23: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

23

Representação TridimensionalCurvas cúbicas paramétricas (cont…) Forma Geométrica vs Forma Algébrica

Dizemos que uma curva cúbica paramétrica está na forma geométrica se ela é “controlada” pelos pontos fronteira P(0) e P(1) e os vectores tangentes nestes pontos.

Estas curvas são também denominadas Curvas Hermite

Em geral a forma geométrica é mais conveniente para controlar a construção da curva e a sua compreensão, comparando com a forma algébrica

Page 24: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

24

Representação TridimensionalCurvas cúbicas paramétricas (cont…) Como podemos obter a forma Geométrica?

Tomando P(u) = au3 + bu2 + cu + d e u ∈ [0,1] Logo P(u)u = 3au2 + 2bu + c (derivada em u) Podemos obter que

P0 = d;

P0u = c;

P1 = a + b + c + d;

P1u = 3a + 2b +c

Resolvendo para a, b, c, d

a = 2P0 – 2P1 + P0u + P1

u;

b = -3P0 + 3P1 – 2P0u – P1

u;

c = P0u;

d = P0 ;

Page 25: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

25

Representação TridimensionalCurvas cúbicas paramétricas (cont…) Como podemos obter a forma Geométrica?

Assim

P(u) = (2u3 - 3u2 +1)P0 + (-2u3 + 3u2)P1 + (u3 – 2u2 + u)P0u + (u3 – u2)P1

u e

u ∈ [0,1]

Se F1 = (2u3 - 3u2 +1); F2 = (-2u3 + 3u2);

F3 = (u3 – 2u2 + u); F4 = (u3 – u2);

Fs são designados por Polinómios Hermite base

Finalmente podemos obter que:

p = F1 P0 + F2P1 + F3P0u + F4P 1

u

Se B = [P0 P1 P0u P1

u] então

p = FB

Page 26: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

26

Curvas de Bézier Introdução

Curvas implementadas em paralelo por Piérre Bézier e por Paul de Casteljau enquanto trabalhavam na Renault e na Citroen, respectivamente.

Receberam o nome de Bézier por este ter sido o primeiro a referir-se a elas num trabalho escrito. Em 1970 no livro “Emploi des Machines a Commande Numerique” as curvas apareceram formuladas como hoje as conhecemos.

Casteljau criou um algoritmo matematicamente estável que pode ser usado para as implementar.

Page 27: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

27

Curvas de Bézier Definição informal

Uma curva de Bézier é definida por vários pontos (pontos de controlo), sendo que o primeiro e o último pertencem à curva.

A curva de Bézier está sempre contida no invólucro convexo definido pelos seus pontos de controlo a que se dá o nome de Polígono de Bézier.

Page 28: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

28

Curvas de Bézier Introdução

A questão fundamental:

Como criar uma curva que começa num ponto, termina noutro ponto e a sua forma está dependente de um certo número de pontos de controlo, que irão “puxar” ou “afastar” a curva de si?

Uma possível resposta:

Temos de construir uma função que estabeleça o “peso” que cada ponto de controlo estabelece em cada momento, ao longo da curva.

Uma das funções mais utilizadas para esse efeito são os Polinómios de Bernstein.

Page 29: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

29

Curvas de Bézier Polinómio de Bernstein

O polinómio de Bernstein de grau n:

onde i representa o índice do ponto de controlo, o parâmetro t ∈ [0,1]

O parâmetro t move-se ao longo da curva, que apresenta o mesmo grau que o polinómio, e determina em cada instante o peso do ponto i

( ) ( ) ( ) ( ),

!1 1

! !

n i n ii ii n

n nB t t t t t

i i n i

− − = − = − ÷ −

Page 30: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

30

Curvas de Bézier As curvas de Bézier são definidas pela seguinte equação

paramétrica:

onde

são os polinómios de Bernstein de grau n, definindo 00=1, e os pontos Pi por pontos de controlo.

( ) ( ) [ ],0

, 0,1n

i i ni

C t P B t t=

= ∈∑

( ) ( ), 1 , 0,...,n ii

i n

nB t t t i n

i−

= − = ÷

Page 31: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

31

Curvas de Bézier Curvas de Bézier Lineares

n = 1

Dois pontos de controlo: P0 e P1

A curva é dada pela equação:

Temos que: uma curva de Bézier linear é o segmento de recta que une os dois pontos de controlo.

( ) ( ) [ ]0 11 , 0,1C t t P tP t= − + ∈

P0

P1

Page 32: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

32

Curvas de Bézier Curvas de Bézier Quadráticas

n = 2

Três pontos de controlo: P0, P1 e P2

A curva é dada pela equação:

P0

P1

( ) ( ) ( ) [ ]2 20 1 21 2 1 , 0,1C t t P t t P t P t= − + − + ∈

P2

Page 33: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

33

Curvas de Bézier Curvas de Bézier Cúbicas

n = 3

Quatro pontos de controlo: P0, P1, P2 e P3

A curva é dada pela equação:

P0

P1

P2

( ) ( ) ( ) [ ]3 2 2 30 1 2 3( ) 1 3 1 3 1 , 0,1C t t P t t P t t P t P t= − + − + − + ∈

P3

Page 34: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

34

Curvas de Bézier Curvas de Bézier Cúbicas

n = 3

Quatro pontos de controlo: P0, P1, P2 e P3

A curva é dada pela equação:

O grau mais utilizado para as curvas de Bezier é o terceiro.

P0

P1

P2

( ) ( ) ( ) [ ]3 2 2 30 1 2 3( ) 1 3 1 3 1 , 0,1C t t P t t P t t P t P t= − + − + − + ∈

P3

Page 35: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

35

Curvas de Bézier Demo

http://www.doc.ic.ac.uk/~dfg/AndysSplineTutorial/Beziers.html

Page 36: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

36

Superficies de Bézier As superfícies de Bézier são generalizações das curvas

de Bézier a dimensões de ordem superior.

Uma superfície de Bézier de ordem (n,m) pode ser definida em termos de um conjunto de (n+1) x (m+1) pontos de controlo Kij com índices inteiros i=0,…,n e j=0,…, m.

Page 37: Formas e Modelos Geométricos - Universidade de Aveirosweet.ua.pt/pedrocruz/ensino/acg/_downloads/06a_FormasModelos.pdf · uma curva é representada como uma função de ... a forma

37

Superficies de Bézier Uma superfície de Bézier com estes pontos de controlo

pode ser descrita como uma função do quadrado unitário em R2, (u,v) ∈ [0,1]2, no espaço afim dos pontos de controlo da seguinte forma:

onde

( ) ( ) ( )0 0

,n m

n mi j i j

i j

p u v B u B v K= =

= ∑∑

( ) ( )1n in i

i

nB u u u

i−

= − ÷