Uniones mediante ODE

Anuncios

Billar

Es este caso de estudio simularemos la dinámica del juego de billar, aunque será simplemente la interacción entre las bolas.

Partiendo de un objeto sólido-rígido inicial (bola blanca) sobre el que podremos aplicar los impulsos tal y como trabajamos en la práctica anterior, este será lanzado sobre un conjunto de sólidos-rígidos los cuales deberán presentar una dinámica lineal y una dinámica angular como respuesta a las colisiones en función de la fuerza y del punto de impacto con los demás objetos.

En este caso el computo de las colisiones, al haber pocos objetos será de O(n·n).

Colisiones entre Sólidos Rígidos

Colisiones de Partículas mediante Tablas Hash

Utilizar un vector para almacenar las partículas requiere un coste lineal con el número de elementos O(N) para buscar una de ellas, al desconocer el punto exacto donde se encuentra es necesario realizar una búsqueda.

Para poder reducir ese factor y conocer mejor donde buscar o almacenar una partícula utilizamos las tablas hash.

Una tabla hash es una estructura de datos con las funciones de inserción, búsqueda y borrado de elementos en tiempo constante, para ello necesitaremos una función de dispersión que asignará un valor a una partícula determinada, que deberá calcularse en tiempo constante y distribuir de forma uniforme los objetos a lo largo de la tabla, y ese valor será utilizado para indexar el vector donde están almacenadas.

Una tabla hash debe tener un número mucho mayor que el número de elementos que espera almacenar para evitar incoherencias y colisiones, una colisión se produce cuando dos o más partículas diferentes dan lugar a un mismo índice hash. Si el factor de carga o grado de ocupación de la tabla es alto (superior al 75%) el número de colisiones aumenta significativamente.

En nuestro caso de estudio del cubo de partículas, donde computaremos las colisiones entre ellas, vamos a pasar del calculo O(n·n) a dividir el cubo en una malla de sub-cubos más pequeños donde solo comprobaremos y computaremos las colisiones entre partículas que se encuentren en el mismo sub-cubo ayudándonos de una tabla hash. Insertando y eliminando las partículas de la escena en cada tabla hash representada por los sub-cubos en función de la posición y el desplazamiento de cada partícula para cada instante de tiempo.

Torque en el Sólido Rígido

Este sistema simulará la rotación producida sobre un objeto sólido-rígido debido al rozamiento generado por un plano inclinado al deslizarse sobre él debido a la acción de la gravedad.

Tenemos que dividir el movimiento en dos planos de dinámica, uno es la dinámica lineal donde el objeto se comportará de forma similar al caso de estudio del plano inclinado ya trabajado anteriormente, y por otro lado la dinámica angular donde transformamos la fuerza de rozamiento aplicada en el punto del objeto en contacto con el plano como un impulso, que será aplicado al vector de momentos del objeto produciendo el toque y por lo tanto la rotación del objeto, siempre en función de su centro de masas para proporcionar estabilidad al objeto como eje de rotación.

La inclinación del plano será variable mediante el teclado.

Telas

Este sistema está basado en la construcción de una malla compuesta por n · n partículas unidas entre vecinas y colindantes mediante muelles.

Cada partícula activa se ve afectada por las fuerzas externas, ya sea la gravedad o una fuerza simuladora de viento, por las colisiones entre las partículas del sistema y por el sumatorio fuerzas elásticas y de amortiguación generadas por cada uno de los muelles asociados a dicha partícula.

Cuerda

Esta simulación de un sistema de cuerda o hilo, está basado en la construcción de una hilera de partículas de longitud n unidas entre vecinas y colindantes mediante muelles.

Cada partícula activa se ve afectada por las fuerzas externas, ya sea la gravedad o una fuerza simuladora de viento, por las colisiones entre las partículas del sistema y por el sumatorio fuerzas elásticas y de amortiguación generadas por cada uno de los muelles asociados a dicha partícula.

Péndulo

Un sistema de movimiento pendular se basa en la dinámica angular, ya sea en 2D o en 3D, capaz de generar un movimiento armónico simple.

En esta entrada vamos a trabajar con un sistema bidimensional basado en un otro que ya hemos trabajado anteriormente como es el masa – muelle con el siguiente esquemático:

pendulo

Externamente al sistema solo nos afecta la fuerza de la gravedad generadora del peso.

Una vez iniciado el sistema aparece de forma interna una fuerza centrípeta dependiente de la tensión generada por el muelle y del peso del objeto para cada instante de tiempo.

Para más información:

http://www.physics.ncsu.edu/courses/py299cp/Lesson10/index.html

http://es.wikipedia.org/wiki/P%C3%A9ndulo_simple

Partícula Flotante

Este caso se basa en el estudio del comportamiento de las partículas y los materiales al interactuar con medios de diferentes densidades.

El sistema aplica desde el centro de masas del material una Fuerza de Flotación dependiente de la aceleración gravitatoria, del volumen del objeto sumergido y de la diferencia de densidades entre el material y el medio de flotación, agua en este caso de estudio.

Para cada instante deberemos calcular el porcentaje de volumen del objeto sumergido y en función de esta parámetro podremos tener tres casos diferentes:

  • El objeto está completamente fuera del agua, por lo que la única fuerza que se le aplica al sistema es la de la gravedad.
  • El objeto está parcialmente dentro del agua, por lo que se activa la fuerza de flotación en función del porcentaje de volumen del objeto que se encuentra sumergido en el agua.
  • El objeto está completamente dentro del agua, por lo que la fuerza flotación será la que actúe sobre el sistema.

 

Simulador Coche

En este caso de estudio simularemos la acción sobre un móvil del proceso de aceleración similar al producido al accionar el pedal de aceleración de un coche.

Sobre este móvil, con su masa inicial, velocidad y energía cinética, aplicaremos mediante la introducción por teclado un aumento de la potencia, lo cual se traducirá en una variación de la energía cinética del móvil en función del tiempo de aplicación.

Al mismo tiempo el móvil se verá afectado por la fuerza de rozamiento inherente a la superficie sobre la que se desplaza que provocará una pérdida de energía en función de la velocidad a la que se esté desplazando para cada instante y por lo tanto su deceleración.