modelagem de curvas - marcio bueno · modelagem de curvas fonte: material do prof. jack van wijk...
TRANSCRIPT
Modelagem de Curvas
Fonte: Material do Prof. Jack van Wijk
Prof. Márcio Bueno
{cgtarde,cgnoite}@marciobueno.com
Conteúdo
2
Curvas Paramétricas
Requisitos
Conceitos
Intepolação Linear
Interpolação de Lagrange
Curva de Bézier
Computação Gráfica - Márcio Bueno
Curvas Paramétricas
3
ttpttp
tptpt
tptpt
yx
yx
yx
d/)('d,d/)(d
)('),(')('
:curva a enteVetor tang
)(),()(
:aParamétric Curva
p
pt
p(t) p’(t)
Computação Gráfica - Márcio Bueno
Linha Tangente à Curva
4
)(')()(
:)( curva à tangente)( Linha
tsts
ts
ppq
pq
t
p(t) p’(t)
s
q(s)
Computação Gráfica - Márcio Bueno
Exemplo
5
]cossin,sin[cos
)(')()(
]cos,sin[)('
]sin,[cos)(
tsttst
tsts
ttt
ttt
ppq
p
p
tp(t)
p’(t)
s
q(s)
Computação Gráfica - Márcio Bueno
Modelagem de Curvas
6
Problema: Como definir uma curva suave?
Solução:
Especificar uma seqüência de pontos pi , i = 1,…, N, (pontos-
de-controle);
Gerar uma curva suave que interpola ou aproxima estes pontos-
de-controle.
Computação Gráfica - Márcio Bueno
Requisitos
7
Suave
nenhuma discontinuidade em direção e curvatura;
Controle Local
alteração de um ponto deve ter efeito apenas local;
Intuitivo e fácil de usar
sem oscilações, variação decrescente
Aproximar or interpolar?
Computação Gráfica - Márcio Bueno
Interpolação Paramétrica
8
1)(
:)( de Requisito
controle.-de-pontos dos balanceada média :Curva
. ponto o para deou de função a é )(
,)()(
:Padrão Fórmula
1
1
N
i
i
i
ii
i
N
i
i
tw
tw
blendingweightingtw
twt
p
pp
Computação Gráfica - Márcio Bueno
Interpolação Linear de Dois Pontos
9
p1
p2
t
.)(
e ,1)(
com ,)()(
ou ,)1()(
2
1
2
1
21
ttw
ttw
twt
ttt
i
i
i
pp
ppp
Computação Gráfica - Márcio Bueno
Interpolação Linear de N Pontos
10
p1
p2
t
contrário caso0
1 se1
1 se1
)(
com,1 ,)()(1
ititi
itiit
tw
Nttwt
i
i
N
i
i pp
p3
p4p5
t
wi
1 2 3 4 5
1
0
Computação Gráfica - Márcio Bueno
Interpolação Linear
11
Não é suave
Controle local
Intuitiva e fácil de usar
Interpola
Computação Gráfica - Márcio Bueno
Interpolação de Lagrange - 1
12
.pontos os interpola )( é, isto ,)( então
se0
se1)(
Se .,...,2,1 Seja
os?interpolad todosestejam controle-de-pontos os
que tal)( polinômiosencontrar podemos
,1 ,)()( Dado1
tk
ik
ikkw
Nk
tw
Nttwt
k
i
i
i
i
N
i
i
ppp
p
pp
Computação Gráfica - Márcio Bueno
Interpolação de Lagrange - 2
13
42
13
2
3
6
1
)41)(31)(21(
)4)(3)(2()(
:4N para Exemplo
if0
if1)( satisfaz
)( :Lagrange de Polinômio
23
1
tttttt
tw
ik
ikkw
ji
jttw
i
ij
i
Computação Gráfica - Márcio Bueno
Interpolação de Lagrange - 3
14 Computação Gráfica - Márcio Bueno
Interpolação de Lagrange - 4
15
Suave
nenhuma discontinuidade em direção e curvatura
SEM controle local
Oscilações radicais, sem variações decrescentes!
Interpola
Computação Gráfica - Márcio Bueno
Curva de Bézier - 1
16
Quebra-cabeça: Defina uma curva suave que interpola o
primeiro e último ponto e aproxima os outros.
p1
p2
p3
p4
Computação Gráfica - Márcio Bueno
Curva de Bézier - 2
17
Solução para N=3:
3
2
21
2
3221
21
322
211
)1(2)1(
))1(())1)((1(
)()()1()(
)1()(
)1()(
ppp
pppp
qqp
ppq
ppq
tttt
tttttt
ttttt
ttt
ttt
p1
p2
p3
q2
q1
p(t)
Computação Gráfica - Márcio Bueno
Curva de Bézier - 3
18
Solution for N=4:
4
3
3
2
2
2
1
3 )1(3)1(3)1()( ppppp ttttttt
p1
p2 p3
p(t)
p4
Computação Gráfica - Márcio Bueno
Curva de Bézier - 4
19
.
)1(!)!(
!)(
com ,10 ,)()(
:pontos 1
,
0
,
iin
Ni
i
N
i
Ni
ttiiN
NtB
ttBt
N
pp
Computação Gráfica - Márcio Bueno
(Polinômio de
Bernstein)
Bézier curve - 5
20 Computação Gráfica - Márcio Bueno
Bézier curve - 6
21
Curva de Bézier geral:
• Grau = #pontos-1
• Suave
– nenhuma discontinuidade em direção e curvatura;
• SEM controle local
• Variações decrescentes, propriedade do
“convex hull”
• Interpola o primeiro e o último ponto e
aproxima os outros pontosComputação Gráfica - Márcio Bueno
Propriedade do “convex hull”
22
0)(
e 1)(
:se controle
- de-pontos dos hull"convex " do dentro contida está
curvaA pontos. os todoscontém que convexo polígono
menor o é :pontos de conjunto um de hull"Convex "
i
tw
tw
i
i
Computação Gráfica - Márcio Bueno
Exemplo da Propriedade do “Convex Hull”
23
Curva fora do
“convex hull”
Curva dentro do
“convex hull”
Computação Gráfica - Márcio Bueno
Curva de Bézier Cúbica
24
p0
p1 p2
p3
Computação Gráfica - Márcio Bueno
Juntando dois segmentos de Bezier
25
Continuidade posicional:
p3 = q0
Continuidade tangencial:
p3- p2 // q1- q0
p0
p2
p3q0
q2
q3
p1
q1
Computação Gráfica - Márcio Bueno
Quebra-cabeça 1: Limite na interpolação
26
Descubra por que uma curva que
interpola os pontos de controle
está contida no “convex hull”,
e é suave
não existe, nem graficamente nem matematicamente.
Computação Gráfica - Márcio Bueno
Quebra-cabeça 2: Dividir curva de Bezier
27
Encontre uma receita para dividir um segmento de curva
de Bezier cúbica em dois segmentos:
p0
p2
p3 q0
q1
q6
p1 q2 q3 q4
q5
Computação Gráfica - Márcio Bueno
Finalmente...
28
Curvas: interpolação de pontos
Interpolação é geralmente aplicável superfícies: interpolação
de curvas
Programa de Exemplo:
http://www.win.tue.nl/~vanwijk/2M050/spline.exe
Computação Gráfica - Márcio Bueno