Title: Interpolacin
1Interpolación
2Interpolación de Alturas
31m
30m
?
23m
17m
15m
1m
3Interpolación de pixeles
4Interpolación de Imágenes
5Interpolación de Curvas
A
2/3 A 1/3 B
1/3 A 2/3 B
B
6Interpolación
x6,v6
x4,v4
x5,v5
x,v
x1,v1
x0,v0
x7,v7
x2,v2
x3,v3º
Conjunto finito de Nodos o puntos fijos, cada uno
con un valor asociado (o varios). Se pretende
encontrar el valor en un punto cualquiera. Qué
puntos fijos se tienen en cuenta? Cómo se
calcula el valor incógnita en función de esos
nodos?
7Promedio Ponderado
x6,v6
x4,v4
x5,v5
x,v
x1,v1
x0,v0
x7,v7
x2,v2
x3,v3º
Para valores reales v(x) ? ?(x, xi) vi ?
?i(x) vi Normalmente ?i 1/xi-x muy
lejanos ? 0
Métodos Locales
8Interpolación / Extrapolación / Aproximación
Nodos
Punto Extrapolado
Punto Interpolado
Curva Interpolante
Tramos Extrapolados
Nodos o Puntos de Control
Curva Aproximante
Nodo Interpolado
Nodo Aproximado
9Interpolación Lineal
x6,v6
x4,v4
x5,v5
x,v
x1,v1
x0,v0
x7,v7
x2,v2
x3,v3º
Interpolación Afín de x x ? ?i xi ? ?i
1 Se calculan (o asignan) los ?i para x, y con
ellos se calcula el valor
v(x) ? ?i vi Los valores reciben
el mismo tratamiento que las coordenadas. Sigue
habiendo tantos métodos como modos de asignar los
?i.
10Triangulación
x6,v6
x4,v4
x5,v5
x,v
x1,v1
x0,v0
x7,v7
x2,v2
x3,v3º
Interpolación Afín de x en el triángulo que lo
incluye x ? ?i xi ? ?i 1 Se calculan
los ?i para x, y con ellos se calcula el valor
v(x) ? ?i
vi Los valores reciben el mismo tratamiento que
las coordenadas. Ya sólo depende del modo de
hacer la triangulación.
11Triangulación
x6,v6
x4,v4
x5,v5
x,v
x1,v1
x0,v0
x7,v7
x2,v2
x3,v3º
Interpolación Afín de x en el triángulo que lo
incluye x ? ?i xi ? ?i 1 Sólo ?0, ?1
y ?4 son distintos de cero. El valor en el punto
depende sólo de v0, v1 y v4
12Interpolación Lineal (o Poli-Lineal)
x4,v4
x5,v5
x,v
x0,v0
x6,v6
v
x1,v1
x3,v3º
x7,v7
x2,v2
Interpolación Afín de x en el triángulo que lo
incluye x ? ?i xi ? ?i 1 Sólo ?0, ?1
y ?4 son distintos de cero. El valor en el punto
depende sólo de v0, v1 y v4
13Interpolación Lineal
x ?0 x0 ?1 x1, con ?0 ?1 1 v ?0 v0
?1 v1
x1,v1
x,v
x0,v0
x1
x01
x0
x x012
x012 ?01 x01 ?2 x2 ?01(?0x0 ?1x1)
?2x2 ?01?0x0 ?01?1x1 ?2x2
?0x0 ?1x1 ?2x2 ?0 ?1 ?2 ?01 ?0
?01 ?1 ?2 ?01 (?0 ?1) ?2 1 v ?0 v0
?1 v1 ?2 v2
x2
14Envoltorio Convexo
x1
x01
x0
x1
x x012
xx01
x0
x2
x1
x01
x0
x1
x01
x0
x012
x0123
x012
x3
x x0123
x3
x x01234
x2
x2
x4
15Coordenadas Baricéntricas
l1 ?0 l10 ?1 l11 l1 ?0 0 ?1 l ? ?1
l1 / l
l0
x
l1
x0
x1
a2 ?0 a20 ?1 a21 ?2 a22 a2 ?0 0 ?1 0
?2 a ? ?2 a2/a.
16Coordenadas Baricéntricas
Líneas isoparamétricas
x1
x0
?2 a2/a.
a2
h2
x
x2
17Interpolación Hiperbólica
Interpolación en el espacio Proyectivo x,w
?0 x0,w0 ?1 x1,w1 (?0 ?1 1)
y (?0 x0 ?1 x1) / (?0 w0 ?1 w1)
(?0 w0 x0 / w0 ?1 w1 x1 / w1) / (?0 w0
?1 w1) ?0 y0 ?1 y1
(?i ?i wi / ? ?j wj ?i wi / w) (?0
?1 1) Haciendo cocientes ai wi / ßi w
(constante) A la inversa, se quiere averiguar el
punto correspondiente a pesos proyectados
ß 1/w ß0/w0 ß1/w1 a0 w ß0/w0 a1 w
ß1/w1 En las proyecciones, el papel de w/1 lo
cumple la coordenada visual z/znear Pero como son
todos cocientes ? se utiliza diréctamente z.
18Corrección Perspectiva
znear
(y1,z1)
x y/(z/znear)
x1
?
(y,z)
x,y
x
?
z
(y0,z0)
x0
Ej. Proyección del punto medio ?1 ?1z1/z
z1/(z1z2) Ej. Color del pixel correspondiente
a x(1-?1)x0?1x1 a1 (ß1/z1)/(1-ß1)/z0ß1/z1
c (1-a1)c0a1c1
19Interpolación Bilineal
x3
x32
x2
x
x1
x01
x0
x01 (1-u) x0 u x1 x32 (1-u) x3 u x2 x
(1-v) x01 v x32 (1-v) (1-u) x0 (1-v)
u x1 v u x2 v (1-u) x3
20Interpolación esférica lineal o Slerp
21Interpolación esférica lineal o Slerp
? acos(x0?x1) x cos(??) x0 sen(??) w x1
cos(?) x0 sen(?) w x cos(??) x0
(sen(??)/sen(?)) (x1 ? cos(?) x0) sen(?) x
cos(??) sen(?) x0 sen(??) (x1 ? cos(?) x0)
cos(??) sen(?) ? sen(??) cos(?) x0
sen(??) x1 sen(? ? ??) x0 sen(??)
x1 sen(1 ? ?)? x0 sen(??) x1 x
sen(1 ? ?)?/sen(?) x0 sen(??)/sen(?) x1
22Quaterniones
q aibjckd Base i,j,k,1 Componentes
a,b,c,d Producto distribuido (todos contra
todos) Productos de la base i2 j2 k2
-1 ij -ji k jk -kj i ki
-ik j Representación Escalar-Vector q
ltd,ugt u a,b,c Vector o cuaternión puro
u lt0,ugt Escalar d ltd,0gt
i
-
k
j
23Quaterniones
q aibjckd Base i,j,k,1 Componentes
a,b,c,d Producto distribuido (todos contra
todos) q1q2 a1a2 ii a1b2 ij a1c2 ik
a1d2 i1 b1a2 ji b1b2 jj b1c2 jk
b1d2 j1 c1a2 ki c1b2 kj c1c2 kk
c1d2 k1 d1a2 1i d1b2 1j d1c2 1k
d1d2 11 q1q2 - a1a2 1 a1b2 k - a1c2 j a1d2
i - b1a2 k - b1b2 1 b1c2 i b1d2 j
c1a2 j - c1b2 i - c1c2 1 c1d2 k
d1a2 i d1b2 j d1c2 k d1d2 1 q1q2
d1d2(a1a2b1b2c1c2)
d1(a2ib2jc2k) d2(a1ib1jc1k)
i(b1c2-c1b2) - j(a1c2-c1a2) k(a1b2-b1a2) q1q2
lt(d1d2?u1u2),(d1u2d2u1u1?u2)gt
24Quaterniones
q aibjckd Base i,j,k,1 Componentes
a,b,c,d Producto distribuido (todos contra
todos) q1q2 lt(d1d2?u1u2),(d1u2d2u1u1?u2)gt
q1q2 ? q2q1 sólo porque u1?u2 ? u2?u1
25Quaterniones
q lt d u gt Conjugado q lt d -u gt
qq qq a2b2c2d2 d2u2 Norma o
Magnitud o Módulo q vqq va2 b2 c2
d2 v d2 u2 Inverso q-1
q/q qq-1 q-1q 1 Normalización q1
q/q q1-1 q1
26Rotaciones con Quaterniones
Expresión inicial v q v q-1 q lt 0, v gt
q-1 q-1 (qq1)-1 q-1 q1-1 ?
(qq1) v (qq1)-1 q1 v q1-1 Sigue con
cuaterniones unitarios q lt cos(?) u sen(?)
gt (u1) q cos2(?) u2 sen2(?) 1
27Rotaciones con Quaterniones
q1q2 lt(d1d2?u1u2),(d1u2d2u1u1?u2)gt
Expresión v q v q-1 lt cos(?) u sen(?) gt
lt 0, v gt lt cos(?) -u sen(?) gt Aplicado a un
vector paralelo a u v// ? u v// lt
cos(?) u sen(?) gt lt 0 ? u gt lt cos(?) -u sen(?)
gt lt ? ? sen(?) ? cos(?) u gt lt
cos(?) -u sen(?) gt lt ? sen(?) cos(?) ?
? sen(?) cos(?) ?u cos2(?) sen2(?) gt
lt 0 ?u gt v// Un vector paralelo
a u no cambia.
28Rotaciones con Quaterniones
q1q2 lt(d1d2?u1u2),(d1u2d2u1u1?u2)gt
Expresión v q v q-1 lt cos(?) u sen(?) gt
lt 0, v gt lt cos(?) -u sen(?) gt Aplicado a un
vector perpendicular a u v?u 0 y usando w
u ? v? v? lt cos(?) u sen(?) gt lt 0 v?gt lt
cos(?) u sen(?) gt lt 0 cos(?) v?
sen(?) w gt lt cos(?) u sen(?) gt lt 0
cos2(?) v? sen(?) cos(?) w sen(?) cos(?) w
sen2(?) v? gt lt 0 cos2(?) sen2(?)
v? 2 sen(?) cos(?) w gt lt 0 cos(2?)
v? sen(2?) w gt Un vector perpendicular a
u gira 2?.
w
v?
2?
v?
wu?v?v??(u) (u1 vw)
w?(u)(v?)
u
29Rotaciones con Quaterniones
Transformación v q v q-1 lt cos(?) u
sen(?) gt lt 0, v gt lt cos(?) -u sen(?) gt El
resultado es un vector. Es una rotación de ángulo
2? alrededor de u. q1q2q2-1q1-1 1 ?
(q1q2)-1 q2-1q1-1 Combinación q1 (q2
v q2-1) q1-1 (q1 q2) v (q1 q2)-1 Interpolación
Slerp en S3