Tema 2 – Emisores de partículas: Humo

Simulación de humo mediante un emisor de partículas.

Vamos a generar un emisor de partículas que simule el efecto del humo como cuando se quema un objeto, por ejemplo. Al ser un emisor de partículas, dichas partículas no van a intercambiar ningún tipo de interacción entre ellas, por lo que no se producirán colisiones ni entre ellas ni con ninguna superfície. 

Para crear el emisor vamos a crear partículas de manera cíclica, y lo que haremos será modificar la velocidad inicial de cada una de las partículas, provocando que la trayectoria de las partículas sea diferente según la velocidad que se le asigne, de manera aleatoria, a cada una de ellas.

En este tipo de emisores, las partículas van apareciendo desde un mismo punto. Además, a las partículas del sistema se les añade un ‘tiempo de vida’, que nos servirá para establecer una caducidad, también de manera aleatoria, para cada partícula emitida.

Tema 2 – Partícula Flotante y emisor Splash

Partícula Flotante que al caer e impactar con la superfície del agua simula una salpicadura mediante un emisor Splash.

En este ejercicio vamos a simular una partícula flotante que al entrar el contacto con la superfície del agua generará una salpicadura empleando una fuente emisora de tipo Splash. 

Dicha partícula flotante posee un centro de flotación, que nos va a permitir contrarrestrar la fuerza de la gravedad que se aplicará sobre la partícula. Será el centro de flotación el que provoque que la partícula suba y baje al entrar en contacto con el agua y acabe flotando al entrar en contacto con el agua.

La estabilidad, por su parte, vendrá dada por el centro de masas y el centro de flotación de la partícula. Por tanto, la fuerza de flotación que se aplicará a dicho centro de flotación de la partícula vendrá dada por la siguiente expresión:

Fuerza flotación = densidad * gravedad * Volumen sumergido

Para simular el emisor de partículas tipo Splash, crearemos partículas mediante un bucle que se activará cada vez que la partícula principal esté entrando en contacto con la superfície del agua.

Tema 3 – Pelo (Cuerda Unidimensional)

Simulación de 20 cuerdas que crean la sensación de una melena cayendo y ondeando al viento.

Podemos observar la simulación de una melena que cae y oscila hasta alcanzar el reposo. Presionando una tecla podemos mostrar u ocultar los vértices que conforman los extremos de cada muelle.

La simulación costa de 20 cuerdas unidimensionales dispuestas unas al lado de las otras. Cada una de ellas está compuesta por un conjunto de muelles y nodos. Además, al extremo final de cada cuerda se aplican las leyes de Newton (aceleración, velocidad y posición iniciales, sumatorio de fuerzas… ) y de Hooke para que estas cuerdas puedan oscilar desde el momento inicial hasta alcanzar el reposo. También los muelles sufren elongaciones por la fuerza elástica que se aplica sobre los mismos.

Tema 3 – Estructuras de mallas para crear una sábana

Sábana tendida ondeando al viento, mostrando o no la malla que la compone y con 5 métodos de creación de la malla.
Sábana cayendo, impactando y resbalando sobre una esfera.

Empleamos 5 métodos (structured, Bend , Shear y uniones entre los mismos) para simular la estructura de una sábana ondeando al viento y una sábana cayendo sobre una esfera.

Structured es el esqueleto básico para la estabilidad de la malla. Shear, por su parte, es ideal para nuestra escena, ya que funciona adecuadamente cuando existe transmisión lateral de energía, es decir, viento. Y finalmente tenemos Bend, cuyo mayor defecto (o virtud, según se vea) es que no produce arrugas.

Sobre la tela actúan un conjunto de fuerzas internas (el conjunto de muelles que la forman) y fuerzas externas (la gravedad, y el viento introducido por el programador). Todas estas fuerzas son calculadas, sumadas y aplicadas a cada una de las partículas que forman la tela. La diferencia radica, pues, en el método empleado para generar la estructura (son los métodosde los que hemos hablado al principio de la entrada). 

Fuegos artificiales

Simuación de la Nit del Foc, con 9 tipos de cohetes diferentes.

En esta práctica, vamos a entender los cohetes de fuegos artificiales como surtidores de partículas que, movidos a una determinada velocidad y en función de un ángulo concreto (pueden estos parámetros ser aleatorios o no, según queramos mayor variedad e imperfección) generan figuras sobre un fondo negro, en nuestro caso el cielo valenciano en la Nit del Foc.

Clase Particula:
Hay dos tipos de partículas: una partícula de gran tamaño que sirve para simular el ascenso de la carcasa y una partícula de pequeño tamaño que sirve para simular un punto de luz de la palmera que ha explotado en el aire. Ambos tipos están sometidos a la fuerza de la gravedad y del viento. La fuerza del viento debe es configurable en intensidad y en dirección. Cada partícula tiene su propio integrador (Euler semi-implícito) en el que se va calculando la velocidad y la posición de la partícula.

Clase Cohete:
El cohete tiene dos conjuntos de partículas:
-La carcasa. Una única partícula que parte con una velocidad inicial vertical.
-El sistema de partículas, almacenadas en un vector y que formarán la palmera.

El cohete es el que implementa el tipo de palmera particular. Aquí es donde hemos desplegado nuestra imaginación ya que, según la dirección y módulo de la velocidad de cada partícula del sistema, la palmera tendrá una forma u otra. Así como el color de las partículas dará el color de la palmera.  La dinámica del cohete tiene dos partes. Desde su activación, durante un tiempo se simulará el ascenso de la carcasa a través de una única partícula que parte con una gran velocidad inicial vertical. En un momento dado, la carcasa “explota”. Esto significa que la partícula única desaparece y se activa el vector de partículas dotando a cada una de ellas de velocidad y dirección.

Castillo (Estructura de datos):
El castillo es un vector de cohetes. En el Castillo (que está en el programa principal) se maneja la interacción con el castillo, concretamente, usando el ratón, lanzaremos los cohetes que formarán el castillo. Igualmente debería constar con una pequeña interfaz para definir la fuerza y la dirección del viento. La función draw() se encarga de visualizar el castillo, además de escribir información adicional en la pantalla.

 

Se han diseñado 9 tipos diferentes de Cohetes. Todos ellos pueden apreciarse en el vídeo adjunto. Además, se permite aplicar una fuerza de viento sobre los ejes x e y, empleando el teclado.

Métodos de integración numérica mediante muelles

Muelle integrado por distintos métodos, con o sin amortiguación.

En esta práctica los objetivos a seguir eran los siguientes:

-Realizar un análisis de comportamiento de los métodos de integración de Euler, Euler semiimplícito, Heun, Runge-Kutta 2 y RK4.

-Obtener empíricamente sus zonas de estabilidad para un sistema físico concreto y observar inestabilidades inherentes al método.

Se ha implementando 1 muelle que soporta una esfera en uno de sus extremos. Con las diferentes teclas, podemos observar como integran cada paso los distintos métodos de integración.  En el vídeo se muestran las simulaciones, primero sin aplicar amortiguación y después aplicando amortiguación sobre el muelle.

Además, se ha descrito una gráfica que muestra en tiempo real la energía total que se aplica sobre el muelle. Podemos comprobar como dicha energía se conserva cuando no existe amortiguación, mientras que se deprecia progresivamente cuando sí la hay.

MÉTODOS DE INTENGRACIÓN NUMÉRICA UTILIZADOS:

Euler: cogemos la derivada en el intervalo actual para calcular el siguiente.

Euler Semi: cogemos la derivada en el intervalo siguiente para calcular la integral en dicho punto.

Heun: cogemos la derivada en el punto intermedio entre el intervalo actual y el siguiente. 

RK2:  cogemos la derivada en el punto intermedio entre el intervalo actual y el siguiente. 

RK4: hacemos una media ponderada entre la derivada en el intervalo anterior, en el siguiente, y 4 veces en el punto medio, todo ello dividido entre 6. Es una aproximación con una tasa de error muy escasa. 

Presentación

Mi nombre es Miguel Ubiedo, tengo 21 años y soy estudiante de 4ºIngeniería Multimedia en la Universitat de València, así como estudiante de Piano y Canto en el Conservatorio Profesional de Música de Valencia. Mis inquietudes artísticas y técnológicas me han llevado a complementar ambos estudios, por lo que considero que poseo cualidades multidisciplinares, complementarias entre sí. 

Aquí ofrezco una muestra de una selección de mis trabajos, que individualmente han sido realizados en la asignatura de Simulación.