Presentación

Mi nombre es Miguel Ubiedo, tengo 20 años y soy estudiante de 3º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 cual idades multidisciplinares, necesarias para innovar en nuestros tiempos. 

 

Aquí ofrezco una muestra de una selección de mis trabajos, individuales y colectivos, realizados en la asignatura de Simulación. 

Práctica 3- Grid y Hash

Grid→Repartimos el espacio en un conjunto de celdas de igual tamaño, e introducimos la partícula en una determinada celda según su posición. Compruebo la colisión con las partículas de mi celda y con las de las celdas vecinas. El problema es que desaprovechamos mucho espacio, ya que existen celdas vacías.

Hash→Los datos se almacenan en una tabla dispersa (vector de tamaño doble que el total de elementos a guardar). Las partículas se almacenan aplicando una función de dispersión, que nos dará una posición en la tabla. Esto nos servirá para encontrar partículas vecinas a una dada, y podremos calcular las colisiones sólo con las partículas que a priori sé con las que puedo chocar, es decir, con las de mi propia celda.

Vamos a comprobar las colisiones partícula contra partícula y partícula contra plano en ambos métodos.

 

Práctica 1 – Métodos de integración numércia mediante muelles

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

-Realizar 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 implementado empleando 2 muelles, uno horizontal y otro vertical (cogidos a 4 puntos  de un grid de tamaño 3×3). En el centro, se encontraba una partícula com una masa de 10 kg.

Con las diferentes teclas, podemos observar como integran cada paso los distintos métodos de integración.  En el vídeo se muestran las animaciones en el siguiente orden=

-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. 

Práctica 2 – Fuegos artificiales

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:
o La carcasa. Una única partícula que parte con una velocidad inicial vertical.
o 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.

Práctica 5 – Bandera

Empleamos 3 métodos (structured, Bend y Shear) para simular una bandera ondeando al viento. 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.

Veamos un vídeo implementando dichos métodos a continuación, ondeando nuestra Senyera Valenciana, nuestro homenaje a ella: