SciELO - Scientific Electronic Library Online

 
vol.13 número1Biblioteca de clases para optimización multiobjetivo mediante el método de entropía cruzadaAplicación de tecnologías para la determinación de la competencia de los expertos índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

  • Não possue artigos citadosCitado por SciELO

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Revista Cubana de Ciencias Informáticas

versão On-line ISSN 2227-1899

Rev cuba cienc informat vol.13 no.1 La Habana jan.-mar. 2019

 

Artículo original

DEPTHWAVE: aplicación para la simulación gráfica del comportamiento del mar.

DEPTHWAVE: application for graphical simulation of sea behaviour.

Omar Milián Morón1 

Yunier Valeriano Medina1  * 

Homero J. Oria Aguilera1 

1Departamento de Automática y Sistemas Computacionales. Universidad Central Marta Abreu de Las Villas, Carretera a Camajuaní Km 5 1/2, Santa Clara, Cuba

RESUMEN

Ofrecer herramientas que faciliten la capacitación del personal especializado, la planificación estratégica y la predicción eficiente en la industria marítima representa enormes ventajas al reducir sustancialmente la utilización de prototipos físicos. El desarrollo de un sistema con estas características impone como desafío la necesidad de contar con una representación del entorno marino, debido a que los movimientos de la embarcación son inducidos mayormente por el oleaje, fenómeno natural complejo, que cambia continuamente a causa de la velocidad del viento y otros factores. En el presente trabajo se presenta la aplicación DEPTHWAVE desarrollada con la distribución de software libre del motor gráfico OGRE3D, y basada en la implementación de un método matemático fundamentado en el espectro direccional Pierson Moskowitz con el objetivo de generar y visualizar de forma realista la superficie del mar.

Palabras clave: aplicación; espectro direccional de Pierson Moskowitz; OGRE3D; simulación del mar

ABSTRACT

Providing tools that facilitate the training of specialized personnel, strategic planning and efficient prediction in the maritime industry represents enormous advantages by substantially reducing the use of physical prototypes. The development of a system with these characteristics imposes as a challenge the need to have a representation of the marine environment, because the movements of the boat are mainly induced by the swell, a complex natural phenomenon that changes continuously due to the speed of the water, the wind and other factors. This paper presents the DEPTHWAVE application developed with the free software distribution of the OGRE3D graphic engine, and based on the implementation of a mathematical method supported by the Pierson Moskowitz directional spectrum with the objective of generating and realistically visualizing the surface of the sea.

Keywords: application; OGRE3D; Pierson Moskowitz directional espectrum; sea simulation

INTRODUCCIÓN

En la industria marítima, la simulación se ha convertido en una herramienta fundamental en la capacitación del personal especializado, la planificación estratégica y la predicción eficiente, reduciendo sustancialmente la necesidad de prototipos físicos. La simulación permite reproducir el comportamiento de un sistema en determinadas condiciones. Ofrecer un ambiente virtual, seguro y totalmente controlado, constituye su propósito fundamental (Krijt, 2014).

Un factor indispensable para la elaboración y la implementación de un simulador marino en general, lo constituye el modelado y la simulación de la superficie del mar; debido a que las olas constituyen uno de los elementos que perturban la estabilidad de un vehículo en el mar. La simulación de la superficie del océano, a su vez representa un gran desafío, ya que las olas constituyen un fenómeno natural complejo, que cambian continuamente a causa de la velocidad del viento y otros factores (Lining et˜al., 2017; Lastra et˜al., 2018; Jeschke, 2017).

El proceso de simulación puede asumir distintas aristas destinadas a varios tipos de aplicaciones: la simulación física y la representación visual. La primera define la deformación de la superficie en el dominio del tiempo, mientras que la segunda compone el aspecto visual de esta. En ambos casos, existen factores con diferentes niveles de complejidad que influencian el resultado final. Entre ellos, la representación y el tiempo real, constituyen dos objetivos esenciales para evaluar los resultados (He etal., 2005).

Para lograr este proceso deben considerarse una serie de aspectos que a continuación se detallan:

Representación de la superficie: Las técnicas para la representación de la superficie del mar proponen esquemas de visualización, a partir de discretizaciones gráficas compuestas por arreglos de celdas básicas (Tessendorf, 2004). Para los simuladores de entrenamiento la técnica seleccionada debe ser lo suficientemente precisa y simple, de manera que sea posible cumplir con los requerimientos computacionales de una aplicación en tiempo real (Madushani et˜al., 2016). El cálculo mediante el cual se obtiene el valor correspondiente a la altura de la ola en cada punto de la superficie es realizado mediante un modelo matemático que debe definir con precisión las características del entorno de simulación (Krijt, 2014).

Representación de otros elementos visuales: La incorporación a la visualización de fenómenos como la interacción entre la luz y el agua permiten una simulación más realista del fluido (Mitchell, 2005). Atendiendo a las propiedades o´pticas de la superficie del océano, se necesita implementar un conjunto de funciones ma- temáticas que permitan la representación de estos efectos. Dentro de estos efectos, los más importantes son las inversiones térmicas y de humedad, variaciones del índice de refracción (espejismos inferior y superior) y las dispersiones.

Motor gráfico: Es la interfaz principal para la implementación del mundo virtual. La funcionalidad básica de un motor gráfico es proveer al sistema con herramientas de renderizado para los gráficos 2D y 3D, admi- nistración de memoria, entre otras. Existen gran cantidad de motores gráficos para tiempo real, pero pocos reu´nen las condiciones de gratuidad, licencia de código abierto y desarrollo en C++ (Varela, 2015).

El presente trabajo se organiza como sigue. En la primera Sección se presenta el modelo utilizado por la aplicación DEPTHWAVE para la simulación gráfica del comportamiento del mar, lo cual constituye la principal contribución de este trabajo. El ambiente de desarrollo y las herramientas empleadas entre las cuales se destaca el motor gráfico OGRE3D y el complemento Hydrax son abordas en la segunda Sección. En la tercera Sección se muestra un análisis de los resultados alcanzados, el comportamiento y la configuración de la aplicación enfatizando en los requerimientos de realismo requeridos. Las conclusiones y trabajo futuro son presentados en la cuarta Sección.

MATERIALES Y MÉTODOS

La reproducción del oleaje constituye un problema de investigación abierto y uno de los grandes desafíos de la computación gráfica (Lining etal., 2017; Jin, 2018). En particular la simulación realista de la superficie oceánica, retomada e impulsada por Tessendorf (Tessendorf, 2001), continuá siendo de gran interés en varios campos, tales como: la industria cinematográfica, la realización de videojuegos y el desarrollo de herramientas de simulación oceanografía en ambientes interactivos (Fréchot, 2006).

Representación matemática del oleaje

Las representaciones basadas en espectros de energía constituyen una alternativa viable para lograr modelos de oleaje con las propiedades de realismo y aleatoriedad que requiere la simulación de este fenómeno (Ochi, 1998). Debido a que la fluctuación aleatoria de la superficie del mar se atribuye generalmente a la energía transferida por el viento al océano, la energía potencial y cinemática de olas aleatorias es representada por la función de densidad del espectro, que a su vez tiene un valor significativo en la evaluación de las propiedades estadísticas de las olas aleatorias.Esta función de densidad espectral o espectro de onda S(ω, θ) , expresa la energía promedio en el tiempo de una configuración de océano aleatorio, como una función continua de frecuencia angular ω y dirección θ.

Aunque a partir de esta teoría han sido desarrolladas varias funciones de espectros, en el presente trabajo se propone emplear el espectro de Pierson Moskowitz, (Pierson, 1964) propuesto a partir del estudio realizado por meteorólogos británicos en el Atlántico Norte para determinar empíricamente los coeficientes de una función de espectro basada en el rango de equilibrio de Phillips (Ochi, 1998). Este espectro de energía permite generar mares totalmente desarrollados a partir de una velocidad del viento definida y su dirección obteniéndose para diferentes configuraciones los estados del mar deseados (Ochi, 1998). Numerosos son los trabajos que utilizan este tipo de espectro en aplicaciones relacionadas con la simulación de la superficie del mar (Anil, 2016; Chen, 2013; Madushani et˜al., 2016).

La ecuación 1 representa la distribución de la energía de las olas entre las diferentes frecuencias de onda en la superficie del mar.

En donde g es la gravedad y U es la velocidad del viento a una altura de 10m sobre el nivel del mar. La frecuencia pico ωp, es la frecuencia angular para la cual las olas tienen en su mayoría energía promedio. La ecuación 2 representa su forma de cálculo para este espectro.

La Figura 1 contiene la visualización del espectro para diferentes velocidades del viento. Los modelos estadísticos inspirados en esta teoría a partir de observaciones experimentales, consideran la altura de la ola h(x, t) como una variable aleatoria de la posición horizontal y el tiempo. Estos modelos se basan en la capacidad de descomponer el campo de altura de las olas como una suma de ondas sinusoidales y cosenos.

Fig. 1 Espectro Pierson-Moskowitz 

Para lograr esta representación se requiere discretizar el espacio en una malla regular de N × M puntos con dimensiones Lx ×Ly sobre la cual es estimada la altura. El uso de la Transformada Rápida de Fourier (FFT ) es introducido en el modelado, ya que constituye una poderosa alternativa para calcular rápidamente el campo de altura, al ser una forma eficiente de computar la suma de números complejos (Mastin etal., 1987; Premoˇze, 2000; Tessendorf, 2001; Fréchot, 2007; Lining et˜al., 2014). La ecuación 3 expresa la transformación del conjunto N × M de números complejos Fn,m en el conjunto de nu´meros complejos fp,q, donde p ∈ {1,. . . , N } y q ∈ {1,. . . , M }.

El modelo de representado en la ecuación 4 muestra la solución de las alturas de la superficie en términos de FFT para calcular el campo de altura.

La variable del miembro izquierdo de la ecuación 4 representa la elevación de la superficie del mar, denota la posición horizontal = (xp, yq) = (Lp/n, Lq/n), t es el tiempo y es el vector del número de onda, el cual cumple con la siguiente condición = (kx,i, ky,i) = (2πi/L, 2πj/L) para un ancho L de la superficie representada. Además p, q, i, j son números enteros, tal que −n/2 ≤ p, q, i, j < n/2 y n, m son enteros positivos relacionados de la siguiente manera n = 2 m .

Las amplitudes de Fourier del campo de altura de la ola pueden generarse en un tiempo t, a partir de la relación de dispersión ω(κ) de la siguiente manera:

La relación de dispersión ω(κ) expresa la relación funcional entre la velocidad de propagación y la longitud de la onda, dependiente de la gravedad, la profundidad del océano y otros parámetros físicos (Horvath, 2015). Las amplitudes de Fourier dependientes del tiempo se obtienen al combinar los resultados obtenidos para las amplitudes del campo de altura reproducidas para el ángulo de fase según la ecuación 6 y su número complejo conjugado, respectivamente. El término de fase para proveer un modelo aleatorio de olas, se obtiene según una distribución aleatoria uniforme entre [0 : 2π] (Ochi, 1998).

Ambiente de desarrollo

La generación y deformación de la superficie del mar que implementa la aplicación DEPTHWAVE mediante el modelo anterior se descompone en cuatro pasos fundamentales:

  1. Generación del estado de mar con el modelo de espectro de ondas de Pierson Moskowitz.

  2. Identificación de los componentes (sistemas de onda) representados por la superficie del mar.

  3. Cálculo de la energía de los sistemas de ondas.

  4. Deformación de la superficie (dada por un campo de elevaciones).

La generación del estado de mar sobre la base del modelo de espectro descrito consiste esencialmente en definir la función espectral en el ámbito de la frecuencia a partir de parámetros físicos o estadísticos de los que depende. Basadas en el espectro de Pierson-Moskowitz se desarrollaron relaciones entre la velocidad del viento y la frecuencia pico del espectro, y posteriormente entre esta última y la altura significativa de onda, como se describe en (Ochi, 1998). Así, el modelo virtual prevé también la generación de un determinado estado de mar a partir de los parámetros estadísticos mencionados. La discretización del espectro determina el conjunto finito de sistemas de ondas representado visualmente por la superficie del mar. Cada componente (sistema de ondas) contiene la energía existente en una gama específica de frecuencias y direcciones de propagación definidas por el espectro. La simulación numérica tridimensional de la superficie del mar sólo es viable recurriendo a las FFT.

Típicamente, la distribución de la energía de los modelos de espectros direccionales se da en función de la frecuencia y de la dirección de propagación de las ondas. Sin embargo, sólo es posible discretizar el espectro uniformemente en ambas direcciones si se define en el espacio de vectores de onda. El cálculo para la deformación de la superficie del mar implica determinar la energía del sistema de ondas definido para la malla de simulación. Para representar las escenas que se simulan en el presente trabajo se utiliza el motor gráfico OGRE3D. Se selecciona este motor gráfico debido a que es un motor de software libre, multiplataforma y de código abierto. Este motor gráfico está hecho principalmente para realizar aplicaciones tridimensionales. OGRE3D brinda soporte para las Interfaces de Programación de Aplicaciones (API, por sus siglas en inglés) OpenGL y Direct3D, además facilita el trabajo de los desarrolladores en comparación con dichas API. También cuenta con una comunidad activa y presenta una interfaz entendible y fácil de usar (Junker, 2006).

Como lenguaje de programación para implementar la aplicación se selecciona el lenguaje C++. Las principales características de este lenguaje por las cuales fue seleccionado son: lenguaje potente, orientado a objetos, multiplataforma y libre. Este lenguaje permite la reutilización de código mediante la herencia, la sobrecarga de operadores y de funciones. Además, es uno de los lenguajes más utilizados en el mundo para la creación de aplicaciones relacionadas con la realidad virtual.

Como metodología de desarrollo de software se selecciona Rational Unified Process (RUP). La selección de esta metodología facilita el desarrollo de un producto mediante iteraciones con hitos bien definidos, donde se repiten las actividades, pero con diferentes énfasis. Esta metodología permite el desarrollo de software a gran escala, mediante un proceso continuo de desarrollo. Mediante esta se modelan visualmente los productos de software empleando el Lenguaje de Modelado Unificado (UML, por sus siglas en inglés). Esta es una metodología dirigida por casos de uso, donde los casos de uso guían el proceso de desarrollo.

Otra importante característica está relacionada con la arquitectura, la cual puede ser descrita en diferentes vistas. Además, es una metodología iterativa e incremental, por lo que divide el desarrollo en pequeñas partes que al concluir aportan un incremento al producto final.El uso del IDE Qt Creator conjuntamente con el motor gráfico OGRE3D y con el lenguaje C++ hizo posible el funcionamiento de las herramientas y la ejecución la aplicación.

RESULTADOS Y DISCUSIÓN

Teniendo en cuenta el propósito específico de la simulación, la representación de la superficie del mar constituye uno de los principales elementos de distinción. Tomando lo antes expuesto como punto de partida, a continuación se realiza la validación del modelo implementado y se ilustra cómo los diferentes elementos visuales incorporados a la simulación permiten recrear una escena más realista de la superficie, así como del ambiente de interacción. La Figura 2 muestra la interfaz de la aplicación DEPTHWAVE utilizada en las simulaciones.

Fig. 2 Interfaz de la aplicación DEPTHWAVE 

Los resultados muestran el realismo visual esperado para cada estado de mar en correspondencia a la Tabla 1.

Tabla 1 Estados del mar simulados en diferentes niveles de la escala de BEAFORT. 

Se puede observar en la Figura 3(a) y Figura 3(b), ambas representan estados de mar con alturas significativas de 3,0m, de manera que las ondas son bastante menores que las representadas en la Figura 3(c) y Figura 3(d), con alturas significativas de 7,0 y 9,0m respectivamente. La superficie del mar en la Figura 3(a) es bastante más regular, y el swell mucho más perceptible. Lo mismo ocurre en las imágenes debajo donde la Figura 3(d) muestra un swell más pronunciado.

Fig. 3 Deformación de la superficie para diferentes estados del mar. 

CONCLUSIONES

En el presente trabajo se presenta la aplicación DEPTHWAVE para la simulación gráfica del comportamiento del estado del mar desarrollada bajo la distribución de softwatre libre del motor gráfico OGRE3D. El modelo matemático representa al espectro de Pierson Moskowitz permitiendo el uso de datos estadísticos, derivados de la oceanografía física y por tanto realizar la simulación atendiendo a estos criterios, contando con la suficiente exactitud para poder representar mediante simulación los distintos estados del mar y la visualización de diferentes efectos visuales. Como parte de la continuidad de este trabajo, se pretende extender la experimentación incorporando otros espectros de oleaje, con el propósito de evaluar su efectividad atendiendo al realismo y los requerimientos de tiempo real necesarios en este tipo de aplicación.

REFERENCIAS BIBLIOGRÁFICAS

Anil, K. A.; Danisman, D. B. (2016). Simulation-based analysis of ship motions in short-crested irregular seas. Journal of ETA Maritime Science, 5(1):19-38. [ Links ]

Chen, L.; Jin, Y. (2013). On the wave spectrum selection in ocean wave scene simulation of the maritime simulator. In Tan, G., Yeo, G. K., Turner, S. J., and Teo, Y. M., editors, AsiaSim 2013, pages 453-465, Berlin, Heidelberg. Springer Berlin Heidelberg. [ Links ]

Fréchot, J. (2006). Realistic simulation of ocean surface using wave spectra. In Proceedings of the First International Conference on Computer Graphics Theory and Applications (GRAPP 2006), pages 76-83, Setu´bal, Portugal. Springer. [ Links ]

Fréchot, J. (2007). Simulation réaliste de surfaces océaniques. PhD thesis, Bordeaux 1. [ Links ]

He, H., Liu, H., Zeng, F., and Yang, G. (2005). A way to real-time ocean wave simulation. In International Conference on Computer Graphics, Imaging and Vision: New Trends, 2005., pages 409-415, Beijing, China. IEEE. [ Links ]

Horvath, C. J. (2015). Empirical directional wave spectra for computer graphics. In Proceedings of the 2015 Symposium on Digital Production, DigiPro ’15, pages 29-39, New York, NY, USA. ACM. [ Links ]

Jeschke, S.; Wojtan, C. (2017). Water wave packets. ACM Trans. Graph., 36(4):103:1-103:12. [ Links ]

Jin, S.; Wu, Y. J. P. (2018). Research on waves simulation of the virtual sea battled-field. In Wang, Y., Wang, S., Liu, Y., Yang, J., Yuan, X., He, R., and Duh, H. B.-L., editors, Advances in Image and GraphicsmTechnologies, pages 168-177, Singapore. Springer Singapore. [ Links ]

Junker, G. (2006). Pro OGRE 3D Programming. Number 1. Apress, 1 edition. [ Links ]

Krijt, F. (2014). Adaptive simulation of large-scale ocean surface. Master’s thesis, Charles University in Prague. Faculty of Mathematics and Physics. [ Links ]

Lastra, M., Castro, M. J., Ureña, C., and de la Asunción, M. (2018). Efficient multilayer shallow-water simulation system based on gpus. Mathematics and Computers in Simulation, 148:48 - 65. [ Links ]

Lining, C., Yicheng, J., and Yong, Y. (2014). Amplitude malformation in the ifft ocean wave rendering under the influence of the fourier coefficient. ELECTRONICS, 18(2):89-97. [ Links ]

Lining, C., Yicheng, J., and Yong, Y. (2017). Ocean wave rendering with whitecap in the visual system of a maritime simulator. Journal of computing and information technology, 25(1):63-76. [ Links ]

Madushani, L., Weerasinghe, M., Sandaruwan, D., Kodikara, N., and Keppitiyagama, C. (2016). Real-time realistic ocean wave rendering model for visualization of different sea states. In 2016 Sixteenth International Conference on Advances in ICT for Emerging Regions (ICTer), pages 193-200. [ Links ]

Mastin, G. A., Watterberg, P. A., and Mareda, J. F. (1987). Fourier synthesis of ocean scenes. IEEE Computer Graphics and Applications, 7(3):16-23. [ Links ]

Mitchell, J. L. (2005). Real-time synthesis and rendering of ocean water. ATI Research Technical Report, 4(1):121-126. [ Links ]

Ochi, M. K. (1998). Ocean Waves: The Stochastic Approach. Cambridge University Press. [ Links ]

Pierson, W. J.; Moskowitz, L. (1964). A proposed spectral form for fully developed wind seas based on the similarity theory of sa kitaigorodskii. Journal of geophysical research, 69(24):5181-5190. [ Links ]

Premoˇze, S.; Ashikhmin, M. (2000). Rendering natural waters. In Proceedings of the 8th Pacific Conference on Computer Graphics and Applications, PG-00, pages 23-, Washington, DC, USA. IEEE Computer Society. [ Links ]

Tessendorf, J. (2001). Simulating ocean water. SIGGRAPH notas de clases (actualizado en el 2004), CA, Estados Unidos. [ Links ]

Tessendorf, J. (2004). Simulating ocean surfaces. SIGGRAPH notas de clases, 1999-2004, CA, Estados Unidos. [ Links ]

Varela, J. M.; Soares, C. G. (2015). Interactive 3d desktop ship simulator for testing and training offloading manoeuvres. Applied Ocean Research, 51:367-380. [ Links ]

Recibido: 12 de Junio de 2018; Aprobado: 30 de Octubre de 2018

*Autor para la correspondencia: yunierv@uclv.edu.cu

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons