![Page 1: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/1.jpg)
Integración de ODEs
Miguel Ángel Otaduy
Animación Avanzada 30 de Enero de 2014
![Page 2: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/2.jpg)
Índice
• Integración de ODEs – Problema estático vs. dinámico. – Ecuaciones diferenciales ordinarias (ODEs). – Desarrollo de Taylor. – Euler explícito. – Algoritmo de simulación. – Métodos Runge-Kutta. – ODEs de 2º orden. – Integración implícita. – Resolución de sistemas no-lineales. – Matriz de rigidez. – Aplicación a masa-muelle.
![Page 3: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/3.jpg)
Problema Estático
• Dadas unas fuerzas externas (“condiciones de contorno”), calcular la deformación resultante.
• ¡Cuidado! Las condiciones de contorno también pueden ser deformaciones (p.ej., deformación 0 en las patas del conejo).
![Page 4: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/4.jpg)
Problema Estático
• Pregunta: ¿Qué tipo de ecuaciones hemos de resolver? ¿Cómo se puede hacer?
Sistema de ecuaciones no-lineales. Método de bisección, método de Newton-Raphson…
![Page 5: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/5.jpg)
Problema Dinámico
• Hemos de resolver una ecuación diferencial Calcular la función tal que se cumpla
• Solución en simulación: Calcular muestras
que aproximen la solución real.
![Page 6: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/6.jpg)
Algoritmo de Simulación
• Partimos del estado en . Dadas las fuerzas, calculamos el estado en , y así sucesivamente.
• La solución puede diverger en el tiempo, pero aproxima la función real localmente.
![Page 7: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/7.jpg)
Ecuaciones Diferenciales Ordinarias (Ordinary Differential Equations)
• ODE general (ecs. con derivadas con respecto a una variable, t):
• ODE lineal:
• Ej: 2a ley de Newton
Típicamente, no lineal
Como de costumbre, puede ser una función vectorial
![Page 8: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/8.jpg)
• Dada una función (y sus derivadas) conocida en un punto, permite aproximar la función en cualquier otro punto:
Desarrollo de Taylor
Si la serie es infinita, el valor es exacto!
![Page 9: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/9.jpg)
Euler Explícito
• ODE de primer orden:
• Condiciones iniciales: conocemos
• Aproximación por Taylor en
• ¡Ya está! Tenemos una fórmula que nos permite integrar ODEs de primer orden.
Serie truncada!
Euler explícito
![Page 10: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/10.jpg)
Euler Explícito
1) Calculamos la derivada:
2) Integramos:
3) Calculamos la derivada:
4) Integramos:
etc.
![Page 11: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/11.jpg)
Euler Explícito
• Se calcula el siguiente valor tomando la aproximación lineal de la función (la tangente a la función).
• El error se analiza mediante la serie de Taylor:
Error de truncamiento
![Page 12: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/12.jpg)
Integración de la 2a Ley de Newton
• ODE de 2o orden:
• Descomposición en 2 ODEs de 1er orden:
• Integración con Euler explícito:
El caso multidimensional no comporta mayor dificultad
![Page 13: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/13.jpg)
Euler Simpléctico
• En la integración de posición, se aprovecha que la nueva velocidad ya está calculada:
Alterna la solución de posición y velocidad.
Mismo coste que Euler explícito. Mismo orden de error, pero mejor conservación de energía. ¡Cuidado! A veces se le llama ‘semi-implícito’, pero ese término se utiliza para describir varios tipos de métodos.
![Page 14: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/14.jpg)
Algoritmo de Simulación (Euler Explícito/Simpléctico)
1) Evaluación de fuerzas 2) Integración de velocidad 3) Integración de posición
Rendering
Estado de la simulación
![Page 15: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/15.jpg)
Métodos Runge-Kutta
• Desarrollo de Taylor:
El resultado es *exacto* si evaluamos la derivada en un punto . Pero no conocemos
En este caso hay 2 posibles soluciones
![Page 16: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/16.jpg)
Métodos Runge-Kutta
• Métodos Runge-Kutta:
Evalúan la derivada varias veces para tratar de aproximar . Euler explícito es un método R-K de orden 1.
![Page 17: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/17.jpg)
Métodos Runge-Kutta
• Método del Punto Medio (Midpoint):
Primero se estima una derivada en el punto medio, que se usa luego para realizar la integración final. ODEs de 2o orden (Newton): se aplica a posición y velocidad.
![Page 18: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/18.jpg)
Resumen Métodos R-K
Método Cálculos de derivadas
Error
Euler explícito 1 O(h2) Midpoint 2 O(h3) Heun 2 O(h3) Runge-Kutta 4 4 O(h5)
En animación basada en física, es extraño ver métodos complejos como RK4, porque el paso de integración (Δt = h) viene limitado a menudo por otros factores (p.ej., tratamiento de colisiones).
![Page 19: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/19.jpg)
Métodos para ODEs de 2o Orden
• Los métodos R-K integran ODEs de 1er orden. Aproximan la derivada basándose en diversas aplicaciones del desarrollo de Taylor.
• Con ODEs de 2o orden, los métodos R-K simplemente las descomponen en 2 ODEs de 1er orden.
• ¿Por qué no realizar desarrollos de Taylor hasta la 2a derivada y trabajar directamente con la ODE de 2o orden?
![Page 20: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/20.jpg)
Método de Verlet
• 2 desarrollos de Taylor para posición:
• La suma da lugar a la integración de posición:
• Y para velocidad:
Por cancelación de términos, tenemos integración de posición con error O(h4) pero sólo 1 cálculo de fuerzas!
![Page 21: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/21.jpg)
(In)estabilidad
• Pregunta: ¿Para qué valor de h gana energía el muelle? (Es decir, se hace inestable)
![Page 22: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/22.jpg)
(In)estabilidad
• En animación en tiempo real, el mayor problema de los métodos explícitos no es su error, sino la posibilidad de que la simulación se vuelva inestable.
• Análisis de estabilidad: se plantea la integración numérica como una recursión, y se analiza si converge (análisis de valores propios, etc.)
![Page 23: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/23.jpg)
Euler Implícito
• Euler explícito:
• Aproximando por Taylor al revés:
• Reordenando los términos:
Euler implícito
![Page 24: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/24.jpg)
Euler Implícito
• ODE de 1er orden:
• Aplicando Euler implícito:
• ¿Hay alguna dificultad? No podemos evaluar f, porque depende de valores sin calcular. Además, f es generalmente no-lineal. Requiere, p.ej., método de Newton…
![Page 25: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/25.jpg)
Euler Implícito
• Para la aproximación lineal, se intenta tomar la derivada en el valor de destino.
• Intuitivamente, hace pensar que la función no crecerá sin límite más estable.
![Page 26: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/26.jpg)
Euler (Semi-)Implícito
• Linealizamos la derivada de la ODE:
• Sustituimos en la integración con Euler impl.:
• Reordenando términos
Derivada de un vector de funciones con respecto a un vector (en el caso multidimensional)
![Page 27: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/27.jpg)
Euler (Semi-)Implícito
• En el caso multidimensional, se ha de resolver un sistema lineal de ecuaciones.
• ¿Cómo se aplica a la 2a ley de Newton (ODE de 2o orden)? – Se han de linealizar las fuerzas, y el cálculo de
nuevas velocidades requiere la resolución de un sistema lineal.
– El cálculo de posición es trivial (ya es lineal).
![Page 28: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/28.jpg)
Euler (Semi-)Implícito
• Ley de Newton multidimensional (descompuesta en ODEs de 1er orden):
• Aplicación de Euler implícito:
• Multiplicando la 2a ec. por la matriz de masas:
![Page 29: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/29.jpg)
Euler (Semi-)Implícito
• Linealizamos las fuerzas:
• Sustituimos las fuerzas y la integración de posición en la ecuación de velocidad. Después de reordenar:
![Page 30: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/30.jpg)
Euler (Semi-)Implícito
• También se suele escribir:
Matriz de amortiguamiento
Matriz de rigidez
![Page 31: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/31.jpg)
Algoritmo de Simulación (Euler Implícito)
1) Evaluación de fuerzas 2) Cálculo de derivadas 3) Sistema lineal 4) Integración de velocidad 5) Integración de posición
Rendering
Estado de la simulación
![Page 32: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/32.jpg)
Aplicación a Masa-Muelle
Se han de derivar fuerzas con respecto a todas las variables del vector posición
![Page 33: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/33.jpg)
Aplicación a Masa-Muelle
• ¿Cuál es el tamaño de la matriz de rigidez?
• ¿Qué representa cada término?
• ¿Qué términos no son 0?
3n x 3n
Derivada de fuerza con respecto a posición
Bloques 3x3 en la diágonal (representan los nodos), más bloques 3x3 en posición (i,j) para todos aquellos muelles entre nodos i-j.
![Page 34: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/34.jpg)
Aplicación a Masa-Muelle
• Si recordamos la formulación energética:
• Entonces, la matriz de rigidez es:
• Es la derivada segunda de la energía elástica.
![Page 35: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/35.jpg)
Resolución del Sistema Lineal
• Sistema a resolver:
• Generalmente, la matriz de rigidez es dispersa, simétrica y definida positiva El sistema lineal de Euler implícito se resuelve eficientemente (gradiente conjugado, factorización de Cholesky…)
![Page 36: Integración de ODEsmastergraficos.com/wp/wp-content/uploads/2015/06/integracionodes.pdf•Los métodos R-K integran ODEs de 1. er. orden. Aproximan la derivada basándose en diversas](https://reader033.vdocuments.co/reader033/viewer/2022050408/5f84ee682dc2c50e651741fd/html5/thumbnails/36.jpg)
Referencias
• Notas de Baraff y Witkin. • Libro de Erleben.