Escolar Documentos
Profissional Documentos
Cultura Documentos
Curvas
Claudio Esperana
Paulo Roma Cavalcanti
Modelagem Geomtrica
Disciplina que visa obter representaes
algbricas para curvas e superfcies com
determinado aspecto e/ou propriedades
At agora temos considerado quase que
exclusivamente objetos geomtricos
compostos de segmentos de reta ou polgonos
(curvas/superfcies lineares por parte)
Na maioria dos casos, so aproximaes de
curvas e superfcies algbricas
Mesmo quando s podemos desenhar
segmentos de reta e polgonos, conhecer o
objeto que estamos aproximando fundamental
Continuidade
Normalmente queremos curvas e
superfcies suaves
Critrio de suavidade associado com
critrio de continuidade algbrica
Continuidade C0 funes paramtricas
so contnuas, isto , sem pulos
Continuidade C1 funes paramtricas
tm primeiras derivadas contnuas, isto
, tangentes variam suavemente
Continuidade Ck funes paramtricas
tm ksimas derivadas contnuas
Alternativamente, Gk : continuidade
geomtrica
Independente de parametrizao
Assumir curva parametrizada por
comprimento de arco
C0
C1
C2
Interpolao x Aproximao
natural querermos modelar uma curva suave
que passa por um conjunto de pontos dados
Se a curva desejada polinomial, chamamos tal
curva de interpolao polinomial lagrangeana
Entretanto, o resultado nem sempre o
esperado (oscilaes)
mais comum querermos curvas que passem
perto dos pontos dados, isto , aproximaes
Algoritmo de De Casteljau
Suponha que queiramos aproximar
uma curva polinomial entre dois
pontos p0 e p1 dados
A soluo natural um segmento de
reta que passa por p0 e p1 cuja
parametrizao mais comum
p (u) = (1 u) p0 + u p1
p1
p0
Algoritmo de De Casteljau
Para generalizar a idia para trs pontos
p0, p1 e p2 consideramos primeiramente
os segmentos de reta p0-p1 e p1p2
p01(u) = (1 u) p0 + u p1
p11(u) = (1 u) p1 + u p2
Algoritmo de De Casteljau
p
1
p1
u = 0.25
p0
1
p0
p0
2
p
2
Algoritmo de De Casteljau
p
1
p0
1
p0
p0
2
u = 0.5
p1
1
p
2
Algoritmo de De Casteljau
p
1
u = 0.75
p0
1
p0
2
p0
p1
1
p
2
Algoritmo de De Casteljau
p
1
p02(u)
p0
p
2
Algoritmo de De Casteljau
A curva obtida pode ser entendida como a
mistura dos pontos p0, p1 e p2 por intermdio de
trs funes quadrticas:
b02(u) = (1 u) 2
b12(u) = 2 u (1 u)
b22(u) = u2
Algoritmo de De Casteljau
p
p02(u)
p03
p0
u = 0.25
p12(u)
p
2
Algoritmo de De Casteljau
p
p02(u)
p03
p12(u)
p0
u = 0.5
p
2
Algoritmo de De Casteljau
p
p03
p02(u)
p12(u)
p0
u = 0.75
p
2
Algoritmo de De Casteljau
p
p02(u)
p03(u
)
p12(u)
p0
p
2
Algoritmo de De Casteljau
Novamente temos uma curva dada pela
soma de 4 funes de mistura (agora
cbicas), cada uma multiplicada por um
dos 4 pontos
b03(u) = (1 u) 3
b13(u) = 3 u (1 u)2
b23(u) = 3 u2 (1 u)
b33(u) = u3
1o
2o
3o
4o
grau:
grau:
grau:
grau:
1
1
1
1
1
2 1
3 3 1
4 6 4 1
Polinmios de Bernstein
u3 ] M B
p0
p
`1
p2
p3
ondeM B a matrizde coeficient
esda baseBzier
1
3
0
0
MB
0
3
0
0
0
3 1
Quantos pontos?
Mais pontos em regies de alta curvatura
p00
p20
p11
p12
p03
u = 0.5
p21
p3
0
Curvas de Hermite
Ao invs de modelar a curva a partir de um polgono de
controle (Bzier), especifica-se pontos de controle e
vetores tangentes nesses pontos
Vantagem: fcil emendar vrias curvas bastando
especificar tangentes iguais nos pontos de emenda
Exemplos (cbicas):
Curvas de Hermite
No caso de cbicas, temos o ponto inicial e
final alm dos vetores tangentes
p(u ) 1 u u 2
ondeM H
1
0
0
0
p0
p
3
u MH 1
p(0)
p(1)
0 3 2
0 3 2
1 2 1
0 1 1
Curvas Longas
Curvas Bzier com k pontos de controle so de
grau k 1
Curvas de grau alto so difceis de desenhar
Complexas
Sujeitas a erros de preciso
Soluo:
p2
p2
p0
p0
p3
p1
p2
Splines
A base de Bzier no prpria para a modelagem
de curvas longas
Bzier nica: suporte no local
Trechos emendados: restries no so naturais
Curvas B-Spline
Funes de base so no nulas apenas em um intervalo no
espao do parmetro
Como impossvel obter isso com apenas 1 polinomial, cada
funo de base composta da emenda de funes polinomiais
Por exemplo, uma funo de base de uma B-spline quadrtica
tem 3 trechos (no nulos) emendados com continuidade C 1
Bi (u)
Curvas B-Spline
Todas as funes de base tm a mesma forma, mas so
deslocadas entre si em intervalos no espao de
parmetros
Num determinado intervalo, apenas um pequeno nmero
de funes de base so no-nulas
Numa B-spline quadrtica, cada intervalo influenciado
por 3 funes de base
Bi1 (u)
Bi (u)
Bi+1 (u)
Curvas B-Spline
Os valores ui do espao de parmetro que
delimitam os intervalos so chamados de ns
Podemos pensar em intervalos regulares por
enquanto (B-Splines uniformes) isto , ui = 1
Bi1 (u)
ui1
ui
Bi (u)
ui+1
ui+2
Bi+1 (u)
ui+3
ui+4
p(u ) Bi ,d (u )p i
i 0
Uma maneira mais natural utilizar a recorrncia de Coxde Boor que exprime as funes da base B-Spline de
grau k como uma intepolao linear das funes de grau
k-1
u uk
u
u
Bk ,d 1 k d 1
Bk 1,d 1
uk d uk
uk d 1 u k 1
Bi,0(u)
Bi,1(u)
Bi,2
(u
Bi+1,1
(uBB
(ui+2,0
B(u)
(u (u
i,3
i+1,0
i+1,2
i+2,0
)) )
) )
ui1
ui
ui+1
ui+2
ui+3
ui+4
p(u ) Bi ,d (u )p i
i 0
u uk
u
u
Bk ,d 1 k d 1
Bk 1,d 1
uk d uk
uk d 1 u k 1
p (ui+2 u<ui+4)
pi+3
p (ui u<ui+1)
pi
p (ui+1 u<ui+2)
pi+1
p (ui+2 u<ui+3)
pi+2
d=0
p(u ) Bi ,d (u )p i
i 0
u uk
u
u
Bk ,d 1 k d 1
Bk 1,d 1
uk d uk
uk d 1 u k 1
pi+3
pi
p (ui u<ui+1)
p (ui+2 u<ui+3)
pi+1
pi+2
p (ui+1 u<ui+2)
d=1
p(u ) Bi ,d (u )p i
i 0
u uk
u
u
Bk ,d 1 k d 1
Bk 1,d 1
uk d uk
uk d 1 u k 1
pi+3
pi
pi+1
pi+2
d=2
p(u ) Bi ,d (u )p i
i 0
u uk
u
u
Bk ,d 1 k d 1
Bk 1,d 1
uk d uk
uk d 1 u k 1
pi+3
pi
pi+1
pi+2
d=3
Efeito dos Ns
Os intervalos entre ns influenciam a
importncia dos pontos de controle
Exemplo: B-spline Qudrica
Inserindo Ns
Podemos ver que as B-splines uniformes em geral
no passam pelos pontos de controle
Entretanto, se repetirmos ns podemos fazer a
curva se aproximar dos pontos de controle
Para fazer a interpolao do primeiro ponto usando
uma B-Spline cbica, fazemos u0 = u1 = u2 = u3
Para fazer uma B-spline cbica passando por 4
pontos podemos usar o vetor de ns: 0, 0, 0, 0, 1,
1, 1, 1
De fato, com este vetor de ns, teremos uma
Bzier cbica
Curvas Racionais
Funes so razes
Avaliados em coordenadas homogneas:
x (t ) y (t ) z (t )
[ x (t ), y (t ), z (t ), w(t )]
,
,
w
(
t
)
w
(
t
)
w
(
t
)
Vantagens:
Invariantes sob transformaes perspectivas e
portanto podem ser avaliadas no espao da imagem
Podem representar perfeitamente sees cnicas
tais como crculos, elipses, etc
Parametrizao de um Crculo
Por exemplo, uma parametrizao conhecida do
crculo dada por
1 u2
x(u )
1 u2
2u
y (u )
1 u2
Podemos expressar essa parametrizao em
coordenadas homogneas por:
x(u ) 1 u 2
y (u ) 2u
w(u ) 1 u 2