Buscar

CG-Assunto07-Modelagem-de-Curvas-e-Superficies

Prévia do material em texto

Robson Lins 
CCT – DEI/UNICAP 
 http://www.dei.unicap.br/rcl/cg 
CURVAS E SUPERFÍCIES DE 
BÉZIER 
Computação Gráfica - Robson Lins 
Curvas Cúbicas 
 formadas por concatenação de trechos de curva 
descritos por polinômios do terceiro grau 
 tipos mais comuns: curvas de Bézier, “splines” 
 conservam a curvatura nas ampliações 
 permitem modelagem rápida e flexível de 
contornos arbitrários e desenhados à mão livre 
Computação Gráfica - Robson Lins 
Algoritmo de Castejau’s 
0
1
2
3
4
5
0 1 2 3 4 5 6
P0 
P1 
P2 
P3 P01 
P12 
P23 
Q1 
Q2 
P 
Computação Gráfica - Robson Lins 
0
1
2
3
4
5
0 1 2 3 4 5 6
Algoritmo de Castejau’s 
Computação Gráfica - Robson Lins 
 O processo inicia com L+1 pontos de controle, 
p0, p1, p2, ..., pL 
 No primeiro laço, gera-se um novo conjunto de L 
pontos, usando as fórmulas 
Curvas de Bézier 
p t p t p k Lk k k
(1)
( ) , , , , ,      1 0 1 2 11 
0  t  1 
Computação Gráfica - Robson Lins 
 Para fazer o segundo laço, repete-se as fórmulas 
sobre os pontos pk
(1) para chegar aos pontos pk
(2) 
Curvas de Bézier 
p t p t pk k k
( ) (1) (1)
( )
2
11     
                 ( ) ( ) ( )1 1 11 1 2t t p t p t t p t pk k k k
             1 2 1 0 12 2
2
1
2
2t p t t p t p k Lk k k , , , , , ,
Computação Gráfica - Robson Lins 
 Note que podemos escrever a equação anterior 
na forma 
Curvas de Bézier 
p B p B p B pk k k k
( ) ( ) ( ) ( )2
0
2
1
2
1 2
2
2      
em que 
B0
(2) = (1 - t)2, B1
(2) = 2t(1-t), B2
(2) = t2 
Computação Gráfica - Robson Lins 
 Repetindo esse processo L-1 vezes, temos que 
um ponto qualquer sobre a curva é expresso por 
Curvas de Bézier 
p B pL k
L
k
L
k
( ) ( )   

p
0
B
L
k L k
t t k Lk
L L k k( ) !
! ( )!
( ) , , , , ,

 1 0 1 2 
em que 
Computação Gráfica - Robson Lins 
 Quando L for pequeno, pode-se usar o triângulo 
de Pascal para obter as funções Bk
(L) 
Curvas de Bézier 
L
L
L
L
L
L
L







0 1
1 1 1
2 1 2 1
3 1 3 3 1
4 1 4 6 4 1
5 1 5 10 10 5 1
6 1 6 15 20 15 6 1
:
:
:
:
:
:
:
Computação Gráfica - Robson Lins 
 Exercício 
 
 Encontre a fórmula da curva de Bézier para os 
quatro pontos de controle (0,0), (1,3), (4,4) e (5,1), 
e então use esta fórmula para calcular as 
coordenadas (x,y) do ponto P correspondente a 
t=0.3 
Curvas de Bézier 
Computação Gráfica - Robson Lins 
 Solução 
 No exemplo L=3, então 
Curvas de Bézier 
 (k = 0) B0
(3) = 1(1 - t)3 t0 = (1 - t)3 
 (k = 1) B1
(3) = 3(1 - t)2 t1 = 3t(1 - t)2 
 (k = 2) B2
(3) = 3(1 - t)1 t2 = 3t2 (1 - t)1 
 (k = 3) B3
(3) = 1(1 - t)0 t3 = t3 
 
p = (1 - t)3 p0 + 3t(1 - t)
2 p1 + 3t
2 (1 - t) p2 + t
3 p3
 
Computação Gráfica - Robson Lins 
 Solução 
x = (1 - 0.3)3 x0 + 3(0.3)(1 - 0.3)
2 x1 + 3(0.3
2 )(1 - 0.3)x2 + 
 0.33 x3 
 = (1 - 0.3)3 0 + 3(0.3)(1 - 0.3)2 1 + 3(0.32 )(1 - 0.3)4 + 0.33 
 5 
 = 1.332 
 
y = (1 - 0.3)3 y0 + 3(0.3)(1 - 0.3)
2 y1 + 3(0.3
2 )(1 - 0.3)y2 + 
 0.33 y3 
 = (1 - 0.3)3 0 + 3(0.3)(1 - 0.3)2 3 + 3(0.32 )(1 - 0.3)4 + 0.33 
 1 
 = 2.106 
Curvas de Bézier 
Computação Gráfica - Robson Lins 
Curvas de Bézier: a base de 
funções 
 A figura abaixo ilustra a base de Bézier para 
caso L = 3 
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
B0
(3)
B1
 (3) B2
(3)
B3
(3)
Computação Gráfica - Robson Lins 
Curvas de Bézier na Forma 
Matricial 
 A curva de Bézier pode ser escrita na forma p = 
BP. Para L=3, tem-se 
 













3
2
1
0
)3(
3
)3(
2
)3(
1
)3(
0
P
P
P
P
BBBBPBp
   
















1331
0363
0033
0001
 1 32
)3(
3
)3(
2
)3(
1
)3(
0 tttBBBB
 em que, 
Computação Gráfica - Robson Lins 
Curvas de Bézier 
 Propriedades 
 os trechos são separados por nodos; 
 a forma de cada trecho é determinada pelos 
pontos de controle; 
 pontos de controle: nodos e extremidades das 
tangentes à curva nos nodos. 
Computação Gráfica - Robson Lins 
Edição gráfica bidimensional 
 Curva de Bézier: 
Computação Gráfica - Robson Lins 
Edição gráfica bidimensional 
 Propriedades das curvas de Bézier: 
 há continuidade quando os nodos de trechos 
consecutivos coincidem; 
 há concordância quando as tangentes de trechos 
consecutivos coincidem; 
 nodos e tangentes podem ser editados 
individualmente, com efeito local. 
Computação Gráfica - Robson Lins 
Edição gráfica bidimensional 
 Concordância de curvas de Bézier: 
Computação Gráfica - Robson Lins 
Superfícies de Bézier 
 As Superfícies de Bézier são generalizações das 
Curvas de Bézier 
 Uma Superfície de Bézier de ordem (n,m) pode ser 
definida em termos de um conjunto de (n+1)(m+1) 
pontos de controle Pij com índices inteiros i = 0,…,n e 
j = 0,…, m 
 

 

n
i
m
j
ij
m
j
n
i PtBsBtsP
0 0
)()(),(
em que 0  s  1 e 0  t  1 
Computação Gráfica - Robson Lins 
Superfícies de Bézier 
 Exemplo de uma superfície de Bézier com n = 3 
e m = 3. 
 São necessários 16 pontos de controle 
Computação Gráfica - Robson Lins 
Superfícies de Bézier 
 Observações 
 Qualquer curva para s ou t constante é uma curva 
de Bézier 
 Cada linha da grade com 4 pontos de controle define 
uma curva de Bézier para o parâmetro s 
 Ao avaliar cada curva para um mesmo s obtemos 4 
pontos de controle “virtuais” 
 Pontos de controle “virtuais” definem uma curva 
Bézier em t 
 Avaliando esta curva em um dado t resulta no ponto 
P(s,t) 
Computação Gráfica - Robson Lins 
Superfícies de Bézier 
 Forma matricial 
 




























































10001
0033
0363
1331
0001
0033
0363
1331
1),(
2
3
3,32,31,30,3
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
23
t
t
t
PPPP
PPPP
PPPP
PPPP
ssstsP

Continue navegando