EMNO 2013
Algoritmo de asignaci ´on de curvatura para datos en el plano
Rafael D´ıaz Fuentes Jorge Estrada Sarlabous
Instituto de Cibern ´etica, Matem ´atica y F´ısica
II Encuentro Cuba-M ´exico
de M ´etodos Num ´ericos y Optimizaci ´on
21 - 23 enero 2013
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Algoritmo deasignaci ´on de curvaturapara datos en el plano
CAGD: Computer Aided Geometric Design
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Algoritmo deasignaci ´on de curvaturapara datos en el plano
CAGD: Computer Aided Geometric Design
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Algoritmo deasignaci ´on de curvaturapara datos en el plano
CAGD: Computer Aided Geometric Design
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Algoritmo deasignaci ´on de curvaturapara datos en el plano
CAGD: Computer Aided Geometric Design
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Algoritmo deasignaci ´on de curvaturapara datos en el plano
CAGD: Computer Aided Geometric Design
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Algoritmo deasignaci ´on de curvaturapara datos en el plano
CAGD: Computer Aided Geometric Design
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Curvatura
y
x (x(s),y(s)) n(s) t(s)
s
ϕ
κ(s) = dϕ ds
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Curvatura
y
x (x(s),y(s)) n(s) t(s)
s
ϕ
κ(t) =x0(t)y00(t) − x00(t)y0(t) (x0(t)2+y0(t)2)32
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Curvatura
y
x r
κ =1 r
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Los principales m´etodos se distinguen por usar:
X estimaci ´on de la derivada de la direcci ´on tangente respecto a la longitud de arco,
X estimaci ´on del radio del c´ırculo osculante de la curva
X o estimaci ´on de la primera y segunda derivada de la curva.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Los principales m´etodos se distinguen por usar:
X estimaci ´on de la derivada de la direcci ´on tangente respecto a la longitud de arco,
X estimaci ´on del radio del c´ırculo osculante de la curva
X o estimaci ´on de la primera y segunda derivada de la curva.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Los principales m´etodos se distinguen por usar:
X estimaci ´on de la derivada de la direcci ´on tangente respecto a la longitud de arco,
X estimaci ´on del radio del c´ırculo osculante de la curva
X o estimaci ´on de la primera y segunda derivada de la curva.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Los principales m´etodos se distinguen por usar:
X estimaci ´on de la derivada de la direcci ´on tangente respecto a la longitud de arco,
X estimaci ´on del radio del c´ırculo osculante de la curva
X o estimaci ´on de la primera y segunda derivada de la curva.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Los principales m´etodos se distinguen por usar:
X estimaci ´on de la derivada de la direcci ´on tangente respecto a la longitud de arco,
X estimaci ´on del radio del c´ırculo osculante de la curva
X o estimaci ´on de la primera y segunda derivada de la curva.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Selecci ´on del spline c ´onico
Secciones del spline
C ´onicas en la forma racional de Bernstein-B ´ezier:
ci(t) = PiB02(t) +ωiQiB12(t) + Pi+1B22(t)
B02(t) +ωiB12(t) + B22(t) t ∈ [0, 1]
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Selecci ´on del spline c ´onico
J. Estrada, R. D´ıaz, Reporte de investigaci ´on: Esquema de subdivisi ´on interpolatorio basado en spline c ´onico. ICIMAF, 2010.
Secciones del spline
C ´onicas en la forma racional de Bernstein-B ´ezier:
ci(t) = PiB02(t) +ωiQiB12(t) + Pi+1B22(t)
B02(t) +ωiB12(t) + B22(t) t ∈ [0, 1]
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Selecci ´on del spline c ´onico
Secciones del spline
C ´onicas en la forma racional de Bernstein-B ´ezier:
ci(t) = PiB02(t) +ωiQiB12(t) + Pi+1B22(t)
B02(t) +ωiB12(t) + B22(t) t ∈ [0, 1]
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Selecci ´on del spline c ´onico
Secciones del spline
C ´onicas en la forma racional de Bernstein-B ´ezier:
ci(t) = PiB02(t) +ωiQiB12(t) + Pi+1B22(t)
B02(t) +ωiB12(t) + B22(t) t ∈ [0, 1]
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Teorema de Pascal
P1
P2
P3
P4
P5
P6
a b
c
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Teorema de Pascal
P1
P2
P3
P4
P5
P6
a
b
c
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Teorema de Pascal
P1
P2
P3
P4
P5
P6
a b
c
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Teorema de Pascal
P1
P2
P3
P4
P5
P6
a b
c
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Teorema de Pascal
P1
P2
P3
P4
P5
P6
a b
c
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de tangentes (Albrecht et. al., 2005)
P1
P2
P3
P4
P5
a
b
c
1: procedure Estimaci´on de tangentes (P1, . . . , P5)
2: Hallar a = L12∧ L34
3: Hallar b = L23∧ L45
4: Hallar c = L15∧ Lab
5: Estimar la tangente en P3como tP3 =LcP3 =c ∧ P3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de tangentes (Albrecht et. al., 2005)
P1
P2
P3
P4
P5
a
b
c
1: procedure Estimaci´on de tangentes (P1, . . . , P5) 2: Hallar a = L12∧ L34
3: Hallar b = L23∧ L45
4: Hallar c = L15∧ Lab
5: Estimar la tangente en P3como tP3 =LcP3 =c ∧ P3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de tangentes (Albrecht et. al., 2005)
P1
P2
P3
P4
P5
a
b
c
1: procedure Estimaci´on de tangentes (P1, . . . , P5) 2: Hallar a = L12∧ L34
3: Hallar b = L23∧ L45
4: Hallar c = L15∧ Lab
5: Estimar la tangente en P3como tP3 =LcP3 =c ∧ P3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de tangentes (Albrecht et. al., 2005)
P1
P2
P3
P4
P5
a
b
c
1: procedure Estimaci´on de tangentes (P1, . . . , P5) 2: Hallar a = L12∧ L34
3: Hallar b = L23∧ L45
4: Hallar c = L15∧ Lab
5: Estimar la tangente en P3como tP3 =LcP3 =c ∧ P3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de tangentes (Albrecht et. al., 2005)
P1
P2
P3
P4
P5
a
b
c
1: procedure Estimaci´on de tangentes (P1, . . . , P5) 2: Hallar a = L12∧ L34
3: Hallar b = L23∧ L45
4: Hallar c = L15∧ Lab
5: Estimar la tangente en P3como tP3 =LcP3 =c ∧ P3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de los par ´ametros de control
Ecuaci ´on impl´ıcita ci(u, v) = v2− 4ω2iu(1 − u − v) = 0
Hallando las coordenadas baric ´entricas:
Pi+2=uPi+vQi+ (1 − u − v)Pi+1:
Despejando ω2i = v2 4u(1 − u − v)
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de los par ´ametros de control
Ecuaci ´on impl´ıcita ci(u, v) = v2− 4ω2iu(1 − u − v) = 0 Hallando las coordenadas baric ´entricas:
Pi+2=uPi+vQi+ (1 − u − v)Pi+1:
Despejando ω2i = v2 4u(1 − u − v)
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Estimaci ´on de los par ´ametros de control
Ecuaci ´on impl´ıcita ci(u, v) = v2− 4ω2iu(1 − u − v) = 0 Hallando las coordenadas baric ´entricas:
Pi+2=uPi+vQi+ (1 − u − v)Pi+1:
Despejando ω2i = v2 4u(1 − u − v)
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Propuesta para estimaci ´on de curvatura
k (Pi) =A [Pi, Qi+1, Pi+1]
ω2ikPi− Qik3 k (Pi+1) = A [Pi, Qi+1, Pi+1] ω2ikPi+1− Qik3 A [Pi, Qi+1, Pi+1]es el ´area del tri ´angulo formado por los tres puntos.
1: procedure Estimaci´on de curvatura en Pi(Pi, ti, Pi+1, ti+1, Pi+2) 2: Hallar Qicomo intersecci ´on de tiy ti+1
3: Hallar x, y resolviendo el sistemaPi+2=xPi+yQi+ (1 − x − y)Pi+1
4: Hallarω2i = 4u(1−u−v)v2
5: Estimar k (Pi)comoA [Pi,Qi+1,Pi+1]
ω2ikPi−Qik3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Propuesta para estimaci ´on de curvatura
k (Pi) =A [Pi, Qi+1, Pi+1]
ω2ikPi− Qik3 k (Pi+1) = A [Pi, Qi+1, Pi+1] ω2ikPi+1− Qik3 A [Pi, Qi+1, Pi+1]es el ´area del tri ´angulo formado por los tres puntos.
1: procedure Estimaci´on de curvatura en Pi(Pi, ti, Pi+1, ti+1, Pi+2) 2: Hallar Qicomo intersecci ´on de tiy ti+1
3: Hallar x, y resolviendo el sistemaPi+2=xPi+yQi+ (1 − x − y)Pi+1
4: Hallarω2i = 4u(1−u−v)v2
5: Estimar k (Pi)comoA [Pi,Qi+1,Pi+1]
ω2ikPi−Qik3
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos
−4 −2 2 4
0,4 0,8 1,21,62
x y
Elipse (5 cos(t), 2 sin(t))
0,3 0,6 0,9 1,2 1,5 0,1
0,2 0,3
x y
Polinomio
t,1
5(1 − (1 − t)5)
0,5 1 1,5
0,5 1 1,5
x y
Folium de Descartes 3t
1+t3,1+t3t23
0,5 1 0,5
1
x y
Campana de Gauss t, e−
√ 2t−
√ 2 2
2!
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos
−4 −2 2 4
0,4 0,8 1,21,62
x y
Elipse (5 cos(t), 2 sin(t))
0,3 0,6 0,9 1,2 1,5 0,1
0,2 0,3
x y
Polinomio
t,1
5(1 − (1 − t)5)
0,5 1 1,5
0,5 1 1,5
x y
Folium de Descartes 3t
1+t3,1+t3t23
0,5 1 0,5
1
x y
Campana de Gauss t, e−
√ 2t−
√ 2 2
2!
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos
−4 −2 2 4
0,4 0,8 1,21,62
x y
Elipse (5 cos(t), 2 sin(t))
0,3 0,6 0,9 1,2 1,5 0,1
0,2 0,3
x y
Polinomio
t,1
5(1 − (1 − t)5)
0,5 1 1,5
0,5 1 1,5
x y
Folium de Descartes 3t
1+t3,1+t3t23
0,5 1 0,5
1
x y
Campana de Gauss t, e−
√ 2t−
√ 2 2
2!
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos
−4 −2 2 4
0,4 0,8 1,21,62
x y
Elipse (5 cos(t), 2 sin(t))
0,3 0,6 0,9 1,2 1,5 0,1
0,2 0,3
x y
Polinomio
t,1
5(1 − (1 − t)5)
0,5 1 1,5
0,5 1 1,5
x y
Folium de Descartes 3t
1+t3,1+t3t23
0,5 1 0,5
1
x y
Campana de Gauss t, e−
√ 2t−
√ 2 2
2!
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos: Elipse
−4 −2 2 4
0,4 0,8 1,2 1,6 2
x y
Curva
0,5 1 1,5 2
0,1 0,2
x y
Curvatura
Exacta C ´onica C´ırculo
Curvatura en P3
(t1, t2, t3, t4, t5) Exacta Asignada con c ´onica Asignada con c´ırculo
π9,2π9,7π18,17π36,25π36 0.0934 0.0934 0.1059
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos: Polinomio
0,3 0,6 0,9 1,2 1,5 0,1
0,2 0,3
x y
Curva
0,5 1
0,5 1 1,5
x y
Curvatura
Exacta C ´onica C´ırculo
Curvatura en P3
(t1, t2, t3, t4, t5) Exacta Asignada con c ´onica Asignada con c´ırculo
0.1, 0.2, 0.3, 0.5, 0.8 1.2613 1.2829 1.1259
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos: Folium de Descartes
0,5 1 1,5
0,5 1 1,5
x y
Curva
0,2 0,4 0,6 0,8 1 1
2
x y
Curvatura
Exacta C ´onica C´ırculo
Curvatura en P3
(t1, t2, t3, t4, t5) Exacta Asignada con c ´onica Asignada con c´ırculo
0.1, 0.25, 0.5, 0.85, 0.9 0.6170 0.6099 0.7186
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Experimentos num´ericos: Campana de Gauss
0,5 1 0,5
1
x y
Curva
0,5 1 1
2 3 4
x y
Curvatura
Exacta C ´onica C´ırculo
Curvatura en P3
(t1, t2, t3, t4, t5) Exacta Asignada con c ´onica Asignada con c´ırculo
0, 0.2, 0.5, 0.6, 1 4 4.1112 3.0199
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Conclusiones
Propiedades alcanzadas:
X Obtenci ´on de valores exactos si los datos provienen de c ´onicas.
X Asignaci ´on con control local.
X Invariancia bajo rotaciones y traslaciones.
X Buena calidad de estimaci ´on en curvas arbitrarias.
X C ´alculo sencillo y eficiente, con poco costo computacional.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Conclusiones
Propiedades alcanzadas:
X Obtenci ´on de valores exactos si los datos provienen de c ´onicas.
X Asignaci ´on con control local.
X Invariancia bajo rotaciones y traslaciones.
X Buena calidad de estimaci ´on en curvas arbitrarias.
X C ´alculo sencillo y eficiente, con poco costo computacional.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Conclusiones
Propiedades alcanzadas:
X Obtenci ´on de valores exactos si los datos provienen de c ´onicas.
X Asignaci ´on con control local.
X Invariancia bajo rotaciones y traslaciones.
X Buena calidad de estimaci ´on en curvas arbitrarias.
X C ´alculo sencillo y eficiente, con poco costo computacional.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Conclusiones
Propiedades alcanzadas:
X Obtenci ´on de valores exactos si los datos provienen de c ´onicas.
X Asignaci ´on con control local.
X Invariancia bajo rotaciones y traslaciones.
X Buena calidad de estimaci ´on en curvas arbitrarias.
X C ´alculo sencillo y eficiente, con poco costo computacional.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
Conclusiones
Propiedades alcanzadas:
X Obtenci ´on de valores exactos si los datos provienen de c ´onicas.
X Asignaci ´on con control local.
X Invariancia bajo rotaciones y traslaciones.
X Buena calidad de estimaci ´on en curvas arbitrarias.
X C ´alculo sencillo y eficiente, con poco costo computacional.
Algoritmo de asignaci ´on de curvatura para datos en el plano
EMNO 2013
¡Muchas gracias!
Algoritmo de asignaci ´on de curvatura para datos en el plano