Simulación
Simulación es una asignatura que he cursado en tercero de Ingeniería Multimedia. Todos ellos están programados en Processing 3.5.4, por lo que utilizo el lenguaje de Java. Se centran principalmente en simulaciones físicas, ya sea cinemática, energía, fluidos, sistemas de partículas u ondas y tejidos.
Bubble Gun Shooter
Ejercicio para familiarizarse con el entorno de Processing.
Utilizando el ratón se mueve la recta con la que se escoge la dirección a disparar. Al pulsar click izquierdo con el ratón, sale disparada una pelota en esta dirección.
Tiro parabólico con rozamiento
Ejercicio en el que representamos un tiro parabólico integrando la ecuación diferencial con los siguientes métodos:
- Euler Explícito
- Euler Simpléctico
- Heun
- Runge-Kutta 2
- Runge-Kutta 4
Muelles variados
Simulación del movimiento de varios muelles con diferentes constantes de rozamiento y elasticidad mediante los diferentes integradores mencionados en proyectos anteriores.
Péndulo elástico
Simulación del movimiento de un péndulo conectado a una partícula con un muelle mediante los diferentes integradores mencionados en proyectos anteriores.
Órbita planetaria
Simulación del movimiento de un planeta orbitando alrededor de una estrella, en este caso utilizando las medidas reales del Sol y La Tierra. Para conseguirlo se han integrado las ecuaciones diferenciales con los métodos comentados anteriormente.
Clickando en la pantalla se puede cambiar la posición del planeta y generar una nueva órbita, manteniendo la velocidad anterior.
Fuegos artificiales
Simulación de un sistema de partículas diseñado para que al pulsar una posición en pantalla salga un "cohete" disparado hacia este punto y explote como si fuera una carcasa real. Las posibles formas que puede adoptar son "Saturno", "Explosión" o "Elipse". Para ello, se ha implementado un tipo de partículas especial para el humo, la carcasa y la explosión y su movimiento se obtiene integrando las ecuaciones diferenciales con Euler Simpléctico. Cada partícula tiene una velocidad que la posiciona para dar esas formas.
Tablero de billar francés
Simulación de un sistema de partículas que representa una serie de pelotas de billar francés en un tablero, ambas cosas con las medidas reales.
Se ha implementado una gestión de colisiones partícula-plano y partícula-partícula mediante el método de velocidades de salida y sin ninguna estructura de datos.
Fluido con partículas
Simulación de un fluido con un sistema de partículas en el que se puede seleccionar si se quieren gestionar sin estructura de datos, con una Grid o con una tabla Hash.
Se ha implementado una gestión de colisiones partícula-plano y partícula-partícula mediante el método de muelles.
Pimball
Simulación de un Pimball utilizando una partícula junto a planos y dos partículas estáticas. Se han utilizado las colisiones partícula-plano y partícula-partícula mediante el método de velocidades y sin ninguna estructura de datos que la gestione.
Además, el juego tiene un rudimentario sistema de puntuación.
Mallas deformables y roturas
Simulación de la caída de una pelota en una malla que puede estar formada por varios tipos de estructuras: Structural, Shear, Structural & Shear, Structural & Bend y Structural & Shear & Bend. Con las teclas numéricas del 1 al 5 se puede alternar entre estas.
Cuando se desactiva que la malla sea rompible esta hace que la pelota rebote.
Banderas
Simulación de tres banderas utilizando un sistema de mallas cada una con tres tipos de estructuras: Structural, Bend y Shear.
Además, se puede activar o desactivar la fuerza de la gravedad y del viento y activar o desactivar la rejilla de la malla.
Ondas - Olas y gotas de lluvia
Simulación de tres tipos de ondas: Direccional o Sinusoidal, Radial o Concéntrica y de Gerstner.
Para ello hemos implementado una rejilla a la cual se le aplican las variaciones de las ondas para simular que se mueve como una ola de cada tipo. Además, hemos implementado la posibilidad de introducir una textura para dar más realismo a la simulación.
La segunda parte es una simulación de las ondas superficiales que generan las gotas de lluvia al caer sobre una superficie líquida, para ello hemos modificado la ecuación de la onda Radial para que tenga una atenuación proporcional a la distancia y controlamos su periodo para conseguir el efecto deseado en el tiempo antes de borrar las ondas.
Sólido rígido - Cut the rope
Recreación del famoso juego Cut the rope mediante una simulación en Processing utilizando la librería "Física", un motor físico que permite crear objetos 2D o 3D en un entorno que obedece las leyes físicas con la posibilidad de poder añadir nuevas fuerzas.
El objetivo de esta práctica es simular fuerzas que cambian los momentos lineales y angulares de los cuerpos.
Para conseguir el efecto del juego hemos unido a anclajes las galletas con las que se obtiene los puntos y el personaje que se mueve. Con una "sierra" cuando colisiona con las galletas se rompe la cuerda y si colisiona con el personaje gana puntos.
Para la música se utiliza la librería "Sonido".