- Ej1 - Montaña rusa
- Ej2 - Movimiento circular uniforme
- Ej3 - Particula osciladora
- Ej4 - Lanza burbujas
- Ej5 - Espiral
- Ej6 - Tiro parabóolico y plano inclinado
- PRACTICA 1 - Metodos numericos de integración
- Ej1 - Localizar celdas
- Ej2 - Emisor tipo Humo y emisor tipo Fuente
- Ej3 - Partícula flotante y emisor tipo Splash
- Ej4 - Modelos de colisión entre partículas
- PRACTICA 2 - Sistema de particulas - Fuegos artifiales
- PRACTICA 3 - Estudio de los modelos de colision y estructura de datos
- Ej1 - Cuerda
- PRACTICA 4 - Estructuras masa-muelle - BANDERAS
- PRACTICA 5 - Simulación de ondas - MAR
- TEMA 1 - CONCEPTOS BÁSICOS E INTEGRADORES NUMÉRICOS
- TEMA 2 - SISTEMAS DE PARTÍCULAS Y ESTRUCTURAS DE DATOS
- TEMA 3 - OBJETOS DEFORMABLES
Simulación de ondas
El objetivo de la práctica es simular un mar, con un mapa de alturas, simulando distintos tipos de olas (onda radial, longitudinal o de Gerstner), en el modelo que vamos a crear se podrán sumar varias olas, del tipo que sean, esto lo conseguiremos teniendo un vector con todas las ondas que hemos de sumar, y al que añdiremos más ondas según el usuario las sume.
Para realizar la simulación vamos a utilizar la misma estrutura que en la práctica anterio. Vamos a tener una estructura de vértices que a parte de la información propia de cada vértice, tendrá un vector con todas las ondas que estén actuando en ese momento sobre la malla 2D.
Teniendo en cuenta que lo que vamos a simular es un mapa de alturas, la componente de cada vértice que vamos a cambiar será la componente z.
Teniendo en cuenta que:
A = amplitud de la onda
k = número de onda = 2·pi/longitud de onda
w = frecuencia angular = 2·pi/periodo
t = tiempo
s = distancia al centro e la perturbación
D = dirección de propagación
Q = Constante de encrespamiento de la ola.
ONDA RADIAL
z = A·cos(k·s - w·t)
ONDA LONGITUDINAL
z = A·cos(D·(x, y)·k + wt)
ONDA DE GERSTNER
x = x0 + Sumatorio(Q·A·Dx·cos(D·(x, y)·k + wt))
y = y0 + Sumatorio(Q·A·Dy·cos(D·(x, y)·k + wt))
z = Sumatorio(Q·A·Dy·cos(D·(x, y)·k + wt))
Las ondas de Gerstner son un tipo especial, donde no sólo se modifica la altura del vertice, sino que también se modifica la posición en el plano XY, pues están pensadas para simular mar de fondo, donde no sólo hay una onda longitudinal, sino un sumatorio de estas. Al final las ondas de Gerstner no es más que un sumatorio de ondas longitudinales.