Escolar Documentos
Profissional Documentos
Cultura Documentos
Curvas e Superfícies
Luis Rivera
Modelagem de Curvas
• Conjunto de pontos
Utiliza área de armazenamento
Segmentos de retas entre pontos
• Curva aproximada...
• Curva analítica
Utiliza de 1 ou mais equações
Exata e compacta
Não usa área de armazenamento
Facilita cálculo de novos pontos
fácil transformação geométrica • y = 3x3 + 2x2 - 4x + 1
Paramétricas e no paramétricas • f(t) = (2t3+t2-4, 3t3-2t-3)
Curvas em Objetos
• Representação
simplificada de objetos
Contornos
• Bezier: Projectos Renault
Definição de malhas
Características internas
• Contornos de sombras
• Arrugas, etc.
• Formas de objetos
Letras
Objetos irregulares
Curvas e Superfícies Paramétricas
• Comum usar CURVA PARAMÉTRICA
Fácil desenho da curva/superfície No-paramétrica:
No-paramétrica:
(aproximada)
Fácil segmentar •• Explícita:
Explícita: FF(x)
(x)==yy
• Segmento a ser usado •y22==44--xx22
•y
Manipulação algébrica mais simples
• Curva em 3D •• Implícita:
Implícita: F(x,y)
F(x,y)==00
ffxx(t)
(t)==2cos(t)
2cos(t)
(t)==2sen(t)
ffyy(t) 2sen(t)
Características
Continuidade e Suavidade
• Alternativamente, Gk : continuidade C1
geométrica
Independente de parametrização
Assumir curva parametrizada por
comprimento de arco
C2
Interpolação x Aproximação
T1 T1 T1 P2
P1 P2 P2
P1 P1 T2
T2 T2
P(t)==aat3t3++bbt2t2++cct t ++dd
P(t) P(0)==dd==P1
P(0) P1 ⎡1
Resolvendo 0 − 3 2 ⎤ ⎡ p1 ⎤
P(t)==[t[t3 3 t2t2 t t 1]1]CC
P(t) P(1)==aa++bb++cc++dd==P2
P2
⎢0 0 3 − 2⎥⎥ ⎢⎢ p2 ⎥⎥
P’(t)==33aat2t2++22bbt t++cc
P(1)
C=⎢
P’(t) P’(0)==cc==T1
P’(0) T1 ⎢0 1 − 2 1 ⎥ ⎢ T1 ⎥
[3t3 3 2t2t 11 0]0]CC
P’(t)==[3t ⎢ ⎥⎢ ⎥
P’(t) P’(1)==33aa++22bb++cc==T2
P’(1) T2
⎣0 0 − 1 1 ⎦ ⎣ T2 ⎦
Para 00≤≤t t≤≤11
Para
⎡1 0 − 3 2 ⎤ ⎡ p1 ⎤
⎢0 0 3 − 2⎥⎥ ⎢⎢ p2 ⎥⎥
[
p (t ) = t 3 t2 ]
t 1 .⎢
⎢0 1 − 2 1 ⎥ ⎢ T1 ⎥
⎢ ⎥⎢ ⎥
⎣0 0 − 1 1 ⎦ ⎣ T2 ⎦
Curvas de Hermite
(dedução)
Seja P(t) = [ x(t), y(t), z(t) ] um ponto da curva
Î [ x(t) y(t) z(t) ] = [t3 t2 t 1] C = [ t3 t2 t 1 ] [ a b c d ]T
⎡a x ay az ⎤
⎢b b z ⎥⎥
[
= t 3
t 2
]
t 1⎢
⎢cx
x by
cy cz ⎥
[
= t3 t2 ]
t 1 [Cx Cy Cz ]
⎢ ⎥
⎢⎣d x dy d z ⎥⎦
Condições:
P(0) = P1 = [0 0 0 1] [ Cx Cy Cz ] ⎡ P1⎤ ⎡0 0 0 1⎤
⎢ P2 ⎥ ⎢1 1 1 1⎥⎥
P(1) = P2 = [1 1 1 1] [ Cx Cy Cz ] ⎢ ⎥=⎢ [Cx Cy Cz ]
P’(0) = T1 = [0 0 1 0] [Cx Cy Cz ] ⎢ T1⎥ ⎢0 0 1 0 ⎥
⎢ ⎥ ⎢ ⎥
P’(1) = T2 = [3 2 1 0] [Cx Cy Cz ] ⎣T2 ⎦ ⎣3 2 1 0⎦
⎡1 0 − 3 2 ⎤ ⎡ P1⎤
⎢0 0 3 − 2⎥⎥ ⎢⎢ P 2⎥⎥
P = H C Î C = H-1 P C = [Cx Cy Cz ] = ⎢
⎢0 1 − 2 1 ⎥ ⎢ T1 ⎥
⎢ ⎥⎢ ⎥
⎣0 0 − 1 1 ⎦ ⎣T 2 ⎦
Curva de Bezier
P0 P2
• Usa K pontos de controle P4
P0, P1, …, Pk-1
P1 P3
Curva cúbica usa P0, P1, P2, P5
P3 (por segmento)
Relacionado com Hermite
p1 p2
• Tangentes nos extremos
• T1 = P1 – P0 y T2 = P3 -
p3
P2
• Definida por p0
n
P(t ) = ∑ Pi .Bi , n (t ), para 0 ≤ t ≤ 1
i =0
Pol. de Berstein
⎛n⎞ i
Bi , n (t ) = ⎜⎜ ⎟⎟ t (1 − t ) n −i
⎝i⎠
Polinômios de Bernstein
Polinômios
Polinômios de
de Berstein
Bernsteindede
grau 3 3
grau
1
0.9
0.8
0.7
0.6 B0,3(t)
b03(u)
B1,3(t)
b13(u)
0.5
B2,3(t)
b23(u)
0.4 B3,3(t)
b33(u)
0.3
0.2 n
0.1 ∑B
i =0
i, n (t ) = 1
0
0 0.2 0.4 0.6 0.8 1
t
Curvas Bézier
(Propriedades)
• Continuidade C0: p3 = p0
• Continuidade C1: C0 e p2p3 de primeiro = p0p1 do segundo
• Continuidade C2: C1 e + restrições sobre p1 da primeira e p2 da
segunda
p2
p1 p3
p3
p0
p0 p1
p2
• Fechado Convexo
p2
p1 p3
p3
p0
p0 p1 p2
Base Bézier
(Forma matricial)
⎡ −1 3 − 3 1⎤ ⎡p 0 ⎤
⎢ 3 −6 3 0⎥⎥ ⎢⎢p `1 ⎥⎥
[
p(t ) = t 3 t 2 ]
t 1⎢
⎢− 3 3 0 0⎥ ⎢p 2 ⎥
⎢ ⎥⎢ ⎥
⎣1 0 0 0⎦ ⎣ p 3 ⎦
Splines
• A base de Bézier não é apropriada para modelagem
de curvas longas
Bézier única: suporte não local
Trechos conectados: restrições não são naturais
t
• Função base B-spline cúbica periódica
t
Recurrencia Cox-de Boor
m
p(t ) = ∑ Bi ,k (t )p i
i =0
⎧1 para t k ≤ t < t k +1 ,
B0,k (t ) = ⎨
⎩0 caso contrário.
t − ti ti + k +1 − t
Bi ,k (t ) = Bi ,k −1 + Bi +1,k −1
ti + k − ti ti + k +1 − ti +1
pi+3
pi k=3
k=1
k=2
pi+2
pi+1
Propriedades das B-Splines
• Dados n+1 pontos (p0 ... pn) , é composta de (n-d+1) curvas
Bézier de grau d unidas com continuidade d-1 nos n+d+1 nós
t0 , t1 , ... , tn+d+1
• Cada ponto da curva é afetado por d+1 pontos de controle
• Cada ponto de controle afeta d+1 segmentos
• Curva restrita ao fecho convexo do polígono de controle
Forma Matricial
⎡ −1 3 − 3 1⎤ ⎡ p i −1 ⎤
⎢
1 ⎢ 3 −6 3 0⎥⎥ ⎢⎢ p i ⎥⎥
[
p(t ) = t 3 t 2 t 1]6 ⎢− 3 0 3 0⎥ ⎢ p i +1 ⎥
, para 0 ≤ t ≤ 1
⎢ ⎥⎢ ⎥
⎣1 4 1 0⎦ ⎣p i + 2 ⎦
Efeito dos Nodos
(0, 1)
(0, 0) u (1, 0)
Superficies Paramétricas
∑∑V
i =0 j =0
i, j B j (v) Bi (u ) = S (u , v)
Representação matricial
B(u ) V B(v)T = S (u , v)
Em função de bases bivariantes
∑V
i, j
i, j Bi , j (v, u ) = S (u , v)
Notação matricial
v
B(v, u )V = S (u , v)
u
Superficies Paramétricas
n −1 m −1
∑∑ P
i =0 j =0
i, j B j (v) Bi (u ) = S (u , v)
P32 P33
P31
P30
P23
P20 P13
P10
(0, 1)
P02 P03
P01
v P00 Patches adjacentes
(0, 0) u (1, 0) Um Patch (16 pontos de controle)
Superficies de Hermite
• Extesão da formulação de Hermite
• Interior gerada pelas funções combinadas (blending function)
P(u,v) = S H GH HT TT
onde S = [u3, u2, u, 1], T = [v3, v2, v, 1], H matriz de Hermite
(matriz das curvas) e GH
⎡ ∂P ∂P ⎤
⎢ P(0,0) P(0,1) (0,0) (0,1) ⎥
∂u ∂u
⎢ ∂P ∂P ⎥
⎢ P(1,0) P(1,1) (1,0) (1,1) ⎥
GH = ⎢ ∂u ∂u ⎥
⎢ ∂P ∂P ∂2P ∂ P
2
⎥
⎢ ∂v (0,0) ∂v
(0,1)
∂v∂u
(0,0)
∂v∂u
(0,1)⎥
⎢ ⎥
⎢ ∂P (1,0) ∂P
(1,1)
∂2P
(1,0)
∂2P
(1,1) ⎥
⎢⎣ ∂v ∂v ∂v∂u ∂v∂u ⎥⎦
Superficies Bézier
• Extensão das curvas de Bezier
n m
S (u, v) = ∑∑ Pi , j Bi ,n (u ) B j ,m (v) 0 ≤ u, v ≤ 1
i =0 j =0