Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave...

105
Interpolación Dan Casas 1

Transcript of Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave...

Page 1: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación

Dan Casas

1

Page 2: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Motivación

2

Page 3: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Motivación

2

Page 4: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Motivación

2

Page 5: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Motivación

3

Page 6: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

4

Motivación

Page 7: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

4

Motivación

Page 8: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación1. Introducción

La mayor parte de los procesos relacionados con la Animación se basan en la Interpolación.

5

Page 9: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación1. Introducción

La mayor parte de los procesos relacionados con la Animación se basan en la Interpolación.

5

Page 10: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación1. Introducción

La mayor parte de los procesos relacionados con la Animación se basan en la Interpolación.

5

Page 11: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación1. Introducción

La mayor parte de los procesos relacionados con la Animación se basan en la Interpolación.

5

Page 12: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación1. Introducción

La mayor parte de los procesos relacionados con la Animación se basan en la Interpolación.

¿Qué necesitamos?

5

Page 13: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación1. Introducción

La mayor parte de los procesos relacionados con la Animación se basan en la Interpolación.

¿Qué necesitamos?

Una función de interpolación –La parametrización de la función en base a la distancia recorrida.

–El mantenimiento del control de la posición interpolada en el tiempo.

5

Page 14: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

http://gizma.com/easing/#expo3

6

Page 15: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónAnimador —> valores asociado con un parámetro en unos keyframes.

¿Cómo generar el resto de los valores del parámetro entre los keyframes?

Un keyframe en animación es un dibujo que define los puntos de inicio y fin de cualquier transición.

7

Page 16: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónPara vídeo, mínimo 24 fps (frames per second)

8

Page 17: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónPara vídeo, mínimo 24 fps (frames per second)

8

Page 18: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónPara vídeo, mínimo 24 fps (frames per second)

8

Page 19: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónPara vídeo, mínimo 24 fps (frames per second)

8

Page 20: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónPara vídeo, mínimo 24 fps (frames per second)

8

Page 21: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación2.- Búsqueda de la función apropiada.

¿Cómo elegir la técnica de interpolación más adecuada? ¿una vez seleccionada, cómo aplicarla a mi caso de animación?

Interpolación vs Aproximación

9

Page 22: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónEn el caso de ser puntos de la curva, forman parte de un spline de interpolación.

Un spline es una curva diferenciable definida en porciones mediante polinomios. Veremos que se van a usar normalmente polinomios de orden bajo para no realizar cambios bruscos en la forma a aproximar.

En el caso de ser una aproximación, los puntos dados son un ejemplo de cómo diseñar el spline por aproximación, y en cualquier caso, permite más margen en el diseño de la curva.

10

Page 23: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónInterpolación:

• Hermite: Requiere saber tangentes en los puntos finales.

• Polinomio interpolador de Lagrange

• Splines, Catmull-Rom: Sólo necesita saber los puntos por

donde pasaría la curva. Defino por mi mismo las tangentes.

Aproximaciones:

• Curvas de Bezier.

• B-splines.

11

Page 24: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

12

Page 25: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

13

Page 26: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

13

Page 27: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

13

Page 28: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

13

Page 29: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

13

Page 30: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

14

Page 31: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

15

Page 32: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

16

Page 33: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

16

Page 34: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

16

Page 35: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

16

Page 36: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

17

Page 37: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

17

Page 38: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

17

Page 39: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación Hermite Propiedades importantes

• Requiere de la disponibilidad de las primeras derivadas

• Si hay más de 2 puntos la continuidad se cumple de manera que la tangente a la curva i en el punto final es la tangente a la curva i+1 en el punto inicial.

18

Page 40: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónInterpolación Hermite. Ejemplo 1.

19

Page 41: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

MATLAB demo

20

or https://octave-online.net/

Page 42: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

21

MATLAB ejercicioshttp://dancasas.github.io/teaching/AC-2019/ejercicios.html

Page 43: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

22

Page 44: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

22

Page 45: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

22

Page 46: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

Forma de Lagrange

23

Page 47: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

Forma de Lagrange

23

Page 48: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

Forma de Lagrange

23

Page 49: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

24

Page 50: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

24

Page 51: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

24

Page 52: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

24

Page 53: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

24

Page 54: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

25

Page 55: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

No se anula para xj

25

Page 56: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

26

Page 57: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

27

Page 58: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Polinomio interpolado de Lagrange

La tabla del problema anterior la generamos a partir de la función f(x) = 1/x

28

Page 59: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

• Desventajas: • El grado del polinomio crece con el

numero de puntos a interpolar • A medida que crece el grado, mayores

oscilaciones entre puntos consecutivos. En tal caso, mejor Hermite or splines

29

Polinomio interpolado de Lagrange

Page 60: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

MATLAB demo

30

Page 61: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación Catmull-RomCatmull-Rom.

• Caso particular de Hermite.

• Tangentes desconocida.

• La tangente en cada punto pi se calcula utilizando el punto anterior y

el siguiente en la spline, pi-1 y pi+1.

31

Page 62: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación Catmull-RomCatmull-Rom.

• Caso particular de Hermite.

• Tangentes desconocida.

• La tangente en cada punto pi se calcula utilizando el punto anterior y

el siguiente en la spline, pi-1 y pi+1.

31

Page 63: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

32

Page 64: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

33

Page 65: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

34

Page 66: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación Catmull-RomMuy utilizadas interpolación suave entre keyframes.

Por ejemplo, trayectorias de la cámara generadas a partir de los keyframes.

Son populares principalmente por ser relativamente fáciles de calcular, principalmente las tangentes en puntos internos, garantizando que cada posición de keyframes se obtiene exactamente, y también garantizando que las tangentes de la curva generada son continuas sobre varios segmentos.

35

Page 67: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación Splines

• Un spline es una curva diferenciable definida en porciones mediante polinomios.

• Requiere solo polinomios de bajo grado, evitando así las oscilaciones, indeseables en la mayoría de las aplicaciones.

36

Page 68: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Interpolación SplinesSplines. Ejemplo 1. Interpolar con splines f(x) = 1 / x , en los puntos en los que x vale 1, 2 y 4

f(1) = 1; f(2) = 0.5; f(4) = 0.25

El primer segmento: (1,1) —> (2, 0.5)

Ecuación lineal: P1(x) = ax + b

(1) 1 = a+b (2) 0.5 = 2a+b

De (1) se obtiene: a=1-b (3)

Reemplazando (3) en (2) se obtiene: 0.5=2(1-b)+b

luego —> b=1.5

37

Page 69: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónSplines. Ejemplo 1.

Reemplazando el valor de (b) en (1), se obtiene: a = - 0.5

Se concluye que: P1(x) = - 0.5x + 1.5

El segundo segmento: (2,0.5) —> (4, 0.25) P2(x) = ax + b

Análogamente a lo hecho para P1(x), en el caso de P2(x) se obtiene: (1) 0.5 = 2a + b (2) 0.25 = 4a + b

a = - 0.125, b = 0.75 P2(x) = - 0.125x + 0.75

38

Page 70: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

MATLAB demo

39

Page 71: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónSplines. Ejemplo 2. Interpolar con splines de grado 2

f(3) = 2.5; f(4.5) = 1; f(7) = 2.5; f(9)=0.5

Primero que nada, vemos que se forman tres intervalos: [3,4.5],[4.5,7],[7,9] En cada uno de estos intervalos, debemos definir una función polinomial de grado 2, como sigue:

Hacemos que la spline pase por los puntos de la tabla de datos, es decir, se debe cumplir que:

s(3)=2.5 s(4.5)=1 s(7)=2.5 s(9)=0.5

Así, se forman las siguientes ecuaciones:

40

Page 72: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónSplines. Ejemplo 2.

Hasta aquí, tenemos un total de 6 ecuaciones con 9 incógnitas.El siguiente paso es manejar la existencia de las derivadas continuas. En el caso de las splines de grado 2, necesitamos que la spline tenga derivada continua de orden k-1=1, es decir, primera derivada continua.

Calculamos primero la primera derivada:

Vemos que esta derivada está formada por segmentos de rectas, que pudieran presentar discontinuidad en los cambios de intervalo. Es decir, las posibles discontinuidades son x = 4.5 y x = 7 .

41

Page 73: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónSplines. Ejemplo 2. Por lo tanto para que s′(x) sea continua, se debe cumplir que:

También debe cumplirse que:

Así, tenemos un total de 8 ecuaciones vs. 9 incógnitas; esto nos da un grado de libertad para elegir alguna de las incógnitas. Elegimos por simple conveniencia a1 = 0.De esta forma, tenemos un total de 8 ecuaciones con 8 incógnitas:

Y las soluciones serían:

42

Page 74: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

InterpolaciónSplines. Ejemplo 2.

Sustituyendo los valores, obtenemos los splines:

Cuya representación gráfica sería:

43

Page 75: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

MATLAB demo

44

Page 76: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

45

Page 77: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

46Bezier cúbica

Page 78: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

47

Page 79: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

48

Lineales

Page 80: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

48

Lineales

Page 81: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

49

Cuadrática

Page 82: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

49

Cuadrática

Page 83: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

50

Cúbica

Curvas de Bezier

Page 84: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

50

Cúbica

Curvas de Bezier

Page 85: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

51

Bezier de grado 4

Page 86: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

51

Bezier de grado 4

Page 87: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

52

Page 88: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

52

Page 89: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

53

Page 90: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

54

¿Por qué funciona?

Page 91: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

54

¿Por qué funciona?

Combinación lineal de polinomios base

Page 92: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

55

Page 93: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Page 94: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Page 95: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Polinomio de Bernstein

Page 96: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Polinomio de Bernstein

Grado

Page 97: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Polinomio de Bernstein

Grado

Page 98: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Polinomio de Bernstein

Grado

Page 99: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

56

Polinomio de Bernstein

Grado

Page 100: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Bezier patches

57

Bernstein polynomial

Page 101: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

58

https://www.youtube.com/watch?v=-BOB6YamcWk

Page 102: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

58

https://www.youtube.com/watch?v=-BOB6YamcWk

Page 103: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

59

Demohttp://blogs.sitepointstatic.com/examples/tech/canvas-curves/bezier-curve.html

http://blogs.sitepointstatic.com/examples/tech/svg-curves/quadratic-curve.html

Page 104: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

60

MATLAB demo

Page 105: Interpolación - GitHub Pages · Interpolación Catmull-Rom Muy utilizadas interpolación suave entre keyframes. Por ejemplo, trayectorias de la cámara generadas a partir de los

Curvas de Bezier

• ¿Podemos juntamos 2 o más curvas? • ¿Podemos escalar, rotar o trasladar

curvas?

61