La simulación dinámica , en física computacional , es la simulación de sistemas de objetos que se mueven libremente, generalmente en tres dimensiones de acuerdo con las leyes de la dinámica de Newton , o aproximaciones de las mismas. La simulación dinámica se utiliza en la animación por computadora para ayudar a los animadores a producir movimientos realistas, en el diseño industrial (por ejemplo, para simular choques como un paso inicial en las pruebas de choque ) y en los videojuegos . El movimiento corporal se calcula utilizando métodos de integración del tiempo .
Motores de física
En informática , se utiliza un programa llamado motor de física para modelar el comportamiento de los objetos en el espacio. Estos motores permiten la simulación de la forma en que los cuerpos de muchos tipos se ven afectados por una variedad de estímulos físicos. También se utilizan para crear simulaciones dinámicas sin tener que saber nada de física. Los motores de física se utilizan en toda la industria de los videojuegos y el cine, pero no todos los motores de física son iguales; Por lo general, se dividen en tiempo real y alta precisión, pero estas no son las únicas opciones. La mayoría de los motores de física en tiempo real son inexactos y solo ofrecen una mínima aproximación al mundo real, mientras que la mayoría de los motores de alta precisión son demasiado lentos para su uso en aplicaciones cotidianas. Para comprender cómo se construyen estos motores de física, se requiere una comprensión básica de la física. Los motores de la física se basan en los comportamientos reales del mundo descritos por la mecánica clásica . Los motores no suelen dar cuenta de la mecánica moderna (ver Teoría de la relatividad y mecánica cuántica ) porque la mayoría de las visualizaciones tratan con cuerpos grandes que se mueven relativamente lentamente, pero los motores más complicados realizan cálculos tanto para la mecánica moderna como para la clásica. Los modelos utilizados en las simulaciones dinámicas determinan la precisión de estas simulaciones.
Modelo de partículas
El primer modelo que puede usarse en motores de física gobierna el movimiento de objetos infinitesimales con masa finita llamados "partículas". Esta ecuación, llamada Segunda ley de Newton (ver las leyes de Newton ) o la definición de fuerza, es el comportamiento fundamental que gobierna todo movimiento:
Esta ecuación nos permitirá modelar completamente el comportamiento de las partículas, pero esto no es suficiente para la mayoría de las simulaciones porque no tiene en cuenta el movimiento de rotación de los cuerpos rígidos . Este es el modelo más simple que se puede usar en un motor de física y se usó ampliamente en los primeros videojuegos.
Modelo inercial
Los cuerpos en el mundo real se deforman cuando se les aplican fuerzas, por eso los llamamos "blandos", pero a menudo la deformación es insignificante en comparación con el movimiento, y es muy complicado de modelar, por lo que la mayoría de los motores de física ignoran la deformación. Un cuerpo que se supone no deformable se denomina cuerpo rígido . La dinámica del cuerpo rígido se ocupa del movimiento de objetos que no pueden cambiar de forma, tamaño o masa, pero que pueden cambiar de orientación y posición.
Para tener en cuenta la energía y el momento de rotación, debemos describir cómo se aplica la fuerza al objeto mediante un momento y explicar la distribución de masa del objeto mediante un tensor de inercia . Describimos estas interacciones complejas con una ecuación algo similar a la definición de fuerza anterior:
dónde es el tensor de inercia central ,es el vector de velocidad angular , yes el momento de la j- ésima fuerza externa sobre el centro de masa .
El tensor de inercia describe la ubicación de cada partícula de masa en un objeto dado en relación con el centro de masa del objeto. Esto nos permite determinar cómo rotará un objeto dependiendo de las fuerzas que se le apliquen. Este movimiento angular se cuantifica mediante el vector de velocidad angular.
Mientras nos mantengamos por debajo de las velocidades relativistas (ver Dinámica relativista ), este modelo simulará con precisión todo el comportamiento relevante. Este método requiere que el motor de Física resuelva seis ecuaciones diferenciales ordinarias en cada instante que queramos representar, lo cual es una tarea simple para las computadoras modernas.
Modelo Euler
El modelo inercial es mucho más complejo de lo que normalmente necesitamos, pero es el más sencillo de usar. En este modelo, no necesitamos cambiar nuestras fuerzas o restringir nuestro sistema. Sin embargo, si hacemos algunos cambios inteligentes en nuestro sistema, la simulación será mucho más fácil y nuestro tiempo de cálculo disminuirá. La primera restricción será poner cada par en términos de los ejes principales. Esto hace que cada torque sea mucho más difícil de programar, pero simplifica significativamente nuestras ecuaciones. Cuando aplicamos esta restricción, diagonalizamos el tensor del momento de inercia, lo que simplifica nuestras tres ecuaciones en un conjunto especial de ecuaciones llamadas ecuaciones de Euler . Estas ecuaciones describen todo el momento de rotación en términos de los ejes principales:
- Los N términos son pares de torsión aplicados sobre los ejes principales
- Los términos I son los principales momentos de inercia.
- La los términos son velocidades angulares sobre los ejes principales
El inconveniente de este modelo es que todo el cálculo está en la parte delantera, por lo que sigue siendo más lento de lo que nos gustaría. La utilidad real no es evidente porque todavía se basa en un sistema de ecuaciones diferenciales no lineales. Para aliviar este problema, tenemos que encontrar un método que pueda eliminar el segundo término de la ecuación. Esto nos permitirá integrarnos mucho más fácilmente. La forma más sencilla de hacer esto es asumir una cierta cantidad de simetría.
Modelo simétrico / de par
Los dos tipos de objetos simétricos que simplificarán las ecuaciones de Euler son "cimas simétricas" y "esferas simétricas". El primero asume un grado de simetría, esto hace que dos de los términos I sean iguales. Estos objetos, como cilindros y tapas, se pueden expresar con una ecuación muy simple y dos ecuaciones un poco más simples. Esto no nos sirve de mucho, porque con una simetría más podemos conseguir un gran salto de velocidad sin casi ningún cambio de apariencia. La esfera simétrica hace que todos los términos I sean iguales (el Momento de inercia escalar), lo que simplifica todas estas ecuaciones:
- Los N términos son pares de torsión aplicados sobre los ejes principales
- La los términos son velocidades angulares sobre los ejes principales
- El término I es el momento escalar de inercia :
- dónde
- V es la región de volumen del objeto,
- r es la distancia desde el eje de rotación,
- m es masa,
- v es el volumen,
- ρ es la función de densidad puntual del objeto,
- x , y , z son las coordenadas cartesianas.
Estas ecuaciones nos permiten simular el comportamiento de un objeto que puede girar de una forma muy cercana al método simular movimiento sin giro. Este es un modelo simple pero es lo suficientemente preciso como para producir resultados realistas en simulaciones dinámicas en tiempo real . También permite que un motor de Física se concentre en las fuerzas y pares cambiantes en lugar de variar la inercia.