Olas
En este proyecto desarrollado en Processing, se estudia el movimiento de diferentes ondas en una superficie. Esta superficie se ha generado usando una matriz de nodos los cuales serán los que determinemos su posición con una serie de Ondas, las cuales son de 3 tipos: Direccionales o Sinusoidales, Radiales y Gerstner. La estructura de la superficie se basará en un mapa de alturas.
Ondas Direccionales
Este tipo de onda es la más básica. La expresión matemática de esta Onda es la siguiente:
$$ f(x, y) = A · \sin( w · (D · P) + \varphi · t) $$
Siendo A la Amplitud máxima de la onda, w la frecuencia angular, D el vector dirección de propagación, P el punto del mapa de alturas, phi la fase y t el instante de tiempo.
Ondas Radiales
Estas ondas son similares a las ondas direccionales, pero no se propagan en una dirección determinada si no que parten de un punto determinado de la superficie.
La expresión matemática de esta Onda es la siguiente:
$$ f(x, y) = A · \sin( w · (D - P) + \varphi · t) $$
Siendo A la Amplitud máxima de la onda, w la frecuencia angular, D el punto de origen de la onda, P el punto del mapa de alturas, phi la fase y t el instante de tiempo.
Ondas Gerstner
Estas ondas intentan aportar un poco más de realismo al movimiento de la superficie. Para hacerlo, en lugar de simplemente calcular la altura de un punto, este también sufrira un desplazamiento en los otros dos ejes.
Este movimiento está definido por la siguiente expresión:
$$ P(x, y, z) = \begin{pmatrix} x + (A · Q · D_{x} · \cos{(w · (D · (x, y)) + \varphi · t)})\\ y + (A · Q · D_{y} · \cos{(w · (D · (x, y)) + \varphi · t)})\\ A · \sin{(w · (D · (x, y)) + \varphi · t)} \end{pmatrix} $$
Siendo A la Amplitud máxima de la onda, Q la constante de Gerstner,w la frecuencia angular, D el punto de origen de la onda, P el punto del mapa de alturas, phi la fase y t el instante de tiempo.