secção autónoma de engenharia naval...m.ventura 22 propriedades das curvas de bézier •o grau...

32
Introdução à Computação Gráfica Desenho de Construção Naval Manuel Ventura Instituto Superior Técnico Secção Autónoma de Engenharia Naval

Upload: others

Post on 20-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

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

Desenho de Construção NavalManuel Ventura

Instituto Superior TécnicoSecção Autónoma de Engenharia Naval

Page 2: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 2

Sumário

• Representação matemática de curvas• Curvas polinomiais e curvas paramétricas• Curvas polinomiais paramétricas• Curvas Bézier 2D• Algoritmo de Casteljau• Propriedades das curvas de Bézier

Page 3: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 3

Representação de Curvas

Para que uma curva possa ser manipulada interactivamente, énecessário que:

– Possa ser processada matematicamente– Permita grande variedade de formas, incluindo rectas e

cónicas– Permita modificação controlada– Permita justaposição de segmentos de curva

Page 4: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 4

Curvas Polinomiais e Curvas Paramétricas

• Interpolação entre dois pontos extremos:

– Linear

– Quadrática

– Cúbica

– Etc.

• Equações explícitas: y = f(x)

• Equações implícitas: f(x,y) = 0

• Equações paramétricas: x = f(t), y = g(t)

Page 5: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 5

Curvas Paramétricas

Vantagens:

• Suportam declives infinitos, curvas fechadas ou multi-valor

• Elementos geométricos definidos parametricamente são inerentemente limitados

• Expressões paramétricas são facilmente traduzidas na formas de vectores e matrizes

• Utilização de um só modelo matemático para representar qualquer curva ou superfície

Page 6: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 6

Curva Polinomial Paramétrica

kk tctctcctP ⋅++⋅+⋅+= L2

210)(

• Interpolação linear entre 2 pontos (combinação linear):

10 ≤≤ t( ) 101)( PtPttP ⋅+⋅−=

( ) ( ) 1100)( PtFPtFtP ⋅+⋅=

Funções de Mistura

( ) ( ) ( )[ ] ⎥⎦

⎤⎢⎣

⎡=

1

010 P

PtFtFtP

Page 7: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 7

Curva Polinomial Paramétrica

[ ] 1

0

( ) 1a

P t ta⎡ ⎤

= ⎢ ⎥⎣ ⎦

[ ] 0

1

1 1( ) 1

1 0P

P t t T M BP

− ⎡ ⎤⎡ ⎤= = ⋅ ⋅⎢ ⎥⎢ ⎥

⎣ ⎦ ⎣ ⎦

00

101

PaPPa

=+−=

Curva polinomial expressa em função do parâmetro e das coordenadas dos pontos que interpola

01)( atatP +⋅=

( ) 001)( PtPPtP +⋅−=

Page 8: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 8

Curva Polinomial Paramétrica

BMTP ⋅⋅=

Pontos da curvaPontos da curva

Parâmetro da Parâmetro da curva (grau)curva (grau)

InterpolaInterpolaççãoão

Pontos de Pontos de controlocontrolo

Page 9: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 9

• Desenvolvidas no princípio dos anos 60 na indústriaautomóvel

• Resultado da investigação separada de Pierre Bézier (Renault) e de Casteljau (Citroen)

• Curva definida por polígono de controlo

Curvas de Bézier

• Fácil de generalizar para ordens mais elevadas, inserindomais pontos de controlo.

Page 10: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 10

Algoritmo de Casteljau

• Permite calcular qualquer ponto na curva em poucas iterações

• Puramente geométrico, não necessita de calcular polinómios

• Interpolação linear repetida

• O algoritmo pode ser usado como definição da curva

Page 11: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 11

Algoritmo de Casteljau

Ordem 3, u=0.75

Page 12: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 12

Algoritmo de Casteljau

Page 13: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 13

Algoritmo de Casteljau

Page 14: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 14

Algoritmo de Casteljau

Page 15: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 15

Algoritmo de Casteljau

3P

1P 2Pt

t−1

t−1 t−1t−1

t−1t

tt

t

0P0P

1P

2P

3P

t−1

t

t−1

t

t−1

t

10)1( tPPt +−

21)1( tPPt +−

32)1( tPPt +−

t−1

t

t−1

t

22

102 )1(2)1(

Pt

tPtPt

+

−+−

32

212 )1(2)1(

Pt

tPtPt

+

−+−

t−1

t

33

22

12

03

)1(3)1(3

)1(

Pt

PtttPt

Pt

+

−+

−+

ii

itt

i−

=

−⎟⎟⎠

⎞⎜⎜⎝

⎛∑ 33

0)1(

3

Índice do último ponto = No. pontos - 1

Page 16: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 16

Triângulo de Pascal

11 1

1 2 11 3 3 1

Os coeficientes do polinómio são calculados pelas combinações

Que podem ser rapidamente determinadas por uma linha do Triângulo de Pascal:

( )!

! !ni

n nCi i n i

⎛ ⎞= =⎜ ⎟ −⎝ ⎠

n = 0

n = 1

n = 2

n = 3

Page 17: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 17

Algoritmo de Casteljau

[ ]

10)1(3

)1(3)1(3)1()(

0001003303631331

1)(

33

0

43

32

22

13

4

3

2

1

23

≤≤−⎟⎟⎠

⎞⎜⎜⎝

⎛=

+++−=

⋅⋅=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

=∑ t, Ptt

i

PtP-ttP-ttPttQ

GMT PPPP

ttttQ

iii

i

bb

3))1(( tt −+ 0

1

1

3)1( t−2)1(3 -tt

3t

)1(3 2 -tt

( )3 33

01 1ii

ii

C t t −

=− =∑

Page 18: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 18

Resumo Algoritmo de Casteljau

LinearGrau 1, Ordem 2

F(0) = P0, F(1) = P1

P0

P1

P0 P11-u u

F(u) = (1-u) P0 + u P1

P0

P1

P2Quadrática

Grau 2, Ordem 3F(0) = P0, F(1) = P2P0 P1 P2

F(u) = (1-u)2 P0 + 2u(1-u) P1 + u2 P2

1-u 1-uu u

1-u u

P0

P1 P2

P3Cúbica

Grau 3, Ordem 4F(0) = P0, F(1) = P3

P0 P1 P2 P31-u

1-u

1-u

u

u

u u

u

u

1-u

1-u

F(u) = (1-u)3 P0 +3u(1-u)2 P1+3u2(1-u) P2 + u3 P3

1-u

Page 19: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 19

Curvas de Bézier - Expressões Paramétricas

Em que Bi,n é a função polinomial de Bézier

,!( ) . .(1 )

!( )!i n i

i nnB t t t

i n i−= −

( ) ( ) ( )∑∑=

=

−==n

ii

inini

n

iini xttCxtBtx

00, 1

( ) ( ) ( )∑∑=

=

−==n

ii

inini

n

iini yttCytBty

00, 1

n = grau

n = número de pontos - 1

Page 20: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 20

Curvas de Bézier - Expressões Paramétricas

( ) ( ) ( )( ) ( ) ( )⎩

⎨⎧

+−+−=+−+−=

22

102

22

102

121121

ytyttyttyxtxttxttx

n = 2 (grau 2)

n = 3 (grau 3)

( ) ( ) ( ) ( )( ) ( ) ( ) ( )⎩

⎨⎧

+−+−+−=+−+−+−=

33

22

12

03

33

22

12

03

1313113131

ytyttyttyttyxtxttxttxttx

Page 21: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 21

Cálculo e Representação da Curva

1 1

2 2 2

0 0 0 3 3 3

x

y

1

P(x,y)

P(x,y)P (x,y)

(x,y)P

x(t)

y(t)

Atribuindo ao parâmetro t valores reais no intervalo [0,1] (tantos quantos se desejarem), e substituindo nas duas expressões paramétricas, são determinadas as coordenadas de pontos da curva

N=3

Page 22: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 22

Propriedades das Curvas de Bézier

• O grau duma curva de Bézier definida por n+1 pontos de controlo é igual a n

• A curva interpola o primeiro e o último pontos de controlo• A tangente à curva no primeiro ponto de controlo está sobre

o segmento de recta que une o primeiro e o segundo pontosde controlo

• A tangente à curva no último ponto de controlo está sobre o segmento de recta que une o terceiro e o último pontos de controlo

• A curva está inteiramente contida no casco convexo dos seuspontos de controlo

• Existem vários processos de determinar pontos da curva

Page 23: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 23

Características Geométricas (1)

• Podem-se definir curvas fechadas fazendo coincidir o primeiro e o último pontos de controlo.

P

P0

y

P

P3

2

1

x0P

y

P

P3

2

x P0

y

P3

x

P2

P1P

1P

0P

1

y

2P

x3P

Page 24: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 24

Características Geométricas (2)

Concatenação de curvas

As curvas podem ter formas mais ou menos complexas, com o número de pontos de controlo que se desejar

Page 25: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 25

Exemplo 1

Deduzir as expressões paramétricas e traçar a curva definida pelos pontos do polígono de apoio seguintes:

P0 (0,0) P1 (0,1) P2 (1,0)

Page 26: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 26

Exemplo 1 - Resolução

Há 3 pontos de controlo e, portanto, o grau do polinómio é 2:

( ) ( ) ( ) ( ) ( ) 101201121 222

210

2 ⋅+⋅−+⋅−=+−+−= ttttxtxttxttx

( ) ( ) ( ) ( ) ( ) 011201121 222

210

2 ⋅+⋅−+⋅−=+−+−= ttttytyttytty

( ) 2ttx =

( ) ( )ttty −= 12

Page 27: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 27

Exemplo 2

Mantendo os mesmos pontos de controlo P0 e P1 do problema anterior,

P0 (0,0) P1 (0,1)

determinar a nova posição do ponto P2 sobre o eixo dos XX, de maneira a que a curva gerada passe por P, de coordenadas:

P ( 0.5 , 0.5 )

Page 28: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 28

Exemplo 2 - Resolução

O polígono de controlo é agora constituído por

P0 (0,0) P1 (0,1) P2 (x2,0)

Como a curva contem o ponto P(0.5, 0.5), então, existe um valor do parâmetro t para o qual:

x(t) = y(t) = 0.5

Recorde-se que as expressões paramétricas p/ n = 2 são

( ) ( ) ( )( ) ( ) ( )⎩

⎨⎧

+−+−=+−+−=

22

102

22

102

121121

ytyttyttyxtxttxttx

Page 29: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 29

Exemplo 2 - Resolução

⎪⎩

⎪⎨⎧

+−+−=

+−+−=

0.1).1(20.)1()(

.0).1(20.)1()(22

222

ttttty

xtttttx

Substituindo nas expressões paramétricas p/ N=2 teremos

⎩⎨⎧==

⇒⎩⎨⎧

==

⇒⎩⎨⎧

==

⇒⎩⎨⎧

−==

5.02

5.0.5.05.0

5.0.5.0

)1(25.0.5.0 22

22

22

2

tx

tx

txt

ttxt

Os pontos de controlo são então:P0 (0,0) P1 (0,1) P2 (2,0)

e as expressões paramétricas serão:

⎩⎨⎧

−==

)1(2)(2)( 2

tttyttx

Page 30: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 30

Exemplo 2 - Resolução

Atribuindo valores a t obtém-se as coordenadas de pontos da curva permitindo traçar o seguinte esboço:

Verificação para t = 0.5:( )

( ) ( )( )( )⎩

⎨⎧

==

⇒⎩⎨⎧

−××=×=

⇒=5.05.05.05.0

5.015.025.05.025.0

5.02

yx

yx

t

⎩⎨⎧

−==

)1(2)(2)( 2

tttyttx

Page 31: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 31

Exercício 1

Considere os seguintes 4 vértices do polígono que define umaCurva de Bézier:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

13343211

B

1. Calcule as funções de Bézier (mistura) para cada ponto de controlo.

2. Calcule 5 pontos da curva e represente-a graficamente.

Page 32: Secção Autónoma de Engenharia Naval...M.Ventura 22 Propriedades das Curvas de Bézier •O grau duma curva de Bézier definida por n+1pontos de controlo é igual a n • A curva

M.Ventura 32

Bibliografia

• Rogers, David (1998), “Mathematical Elements for ComputerGraphics”, McGraw-Hill.