Aplicación para la simulación gráfica del comportamiento del mar
65
0
0
Texto completo
(2) Este documento es Propiedad Patrimonial de la Universidad Central “Marta Abreu” de Las Villas, y se encuentra depositado en los fondos de la Biblioteca Universitaria “Chiqui Gómez Lubian” subordinada a la Dirección de Información Científico Técnica de la mencionada casa de altos estudios. Se autoriza su utilización bajo la licencia siguiente: Atribución- No Comercial- Compartir Igual. Para cualquier información contacte con: Dirección de Información Científico Técnica. Universidad Central “Marta Abreu” de Las Villas. Carretera a Camajuaní. Km 5½. Santa Clara. Villa Clara. Cuba. CP. 54 830 Teléfonos.: +53 01 42281503-1419.
(3) PENSAMIENTO. “Los tres grandes elementos esenciales para lograr cualquier cosa que valga la pena son en primer lugar, el trabajo duro; el segundo, apego a la vida y el tercero, sentido común”. Thomas A. Edison.. iii.
(4) DEDICATORIA. A mi familia,. iv.
(5) AGRADECIMIENTOS. Especialmente a mi esposa, mis padres y al resto de mi familia por ser mis guı́as en la vida. A mis tutores Valeriano y Homero, por brindarme su confianza y entusiasmo y por haberse convertido en mis amigos. A mis compañeros de aula gracias por su ayuda en todo momento.. Santa Clara, Cuba, 2018. v.
(6) 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 desarrolla la aplicación DEPTHWAVE, sustentada en la distribución de software libre del motor gráfico OGRE3D y en la implementación de un modelo matemático para la representación del oleaje de mares irregulares fundamentado en los espectros de energı́a, con el propósito de generar y visualizar de forma realista la superficie del mar. El desempeño de la aplicación se constata a partir de las simulaciones realizadas con diferentes configuraciones de parámetros, permitiendo estimar los requerimientos necesarios para su ejecución con el realismo y la precisión requeridos.. i.
(7) TABLA DE CONTENIDO Página PENSAMIENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iii. DEDICATORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iv. AGRADECIMIENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. v. RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. i. INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.. ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.. Descripción general del proceso de simulación del oleaje. . . . . . . . .. 6. 1.2.. Técnicas para la discretización de la superficie . . . . . . . . . . . . . .. 7. 1.2.1. Discretización basada en partı́culas . . . . . . . . . . . . . . . .. 8. 1.2.2. Discretización basada en mallas . . . . . . . . . . . . . . . . . .. 8. Modelos fı́sicos para la representación del oleje . . . . . . . . . . . . . .. 9. 1.3.1. Ecuaciones de Navier-Stokes . . . . . . . . . . . . . . . . . . . .. 10. 1.3.2. Ecuaciones de Saint-Venant . . . . . . . . . . . . . . . . . . . . .. 11. Modelos empı́ricos para la representación del oleaje . . . . . . . . . . .. 11. 1.4.1. Ecuaciones paramétricas . . . . . . . . . . . . . . . . . . . . . .. 12. 1.4.2. Espectros de medición . . . . . . . . . . . . . . . . . . . . . . . .. 13. 1.5.. Renderizado de efectos visuales . . . . . . . . . . . . . . . . . . . . . .. 13. 1.6.. Motores gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 1.7.. Soluciones para la representación de la superficie del mar . . . . . . . .. 16. 1.8.. Consideraciones finales del capı́tulo.. . . . . . . . . . . . . . . . . . . .. 19. Diseño de la aplicación para la implementación del modelo de representación del oleaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 2.1.. Notación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 2.2.. Modelos paramétricos . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 1.3.. 1.4.. 2.. 6. ii.
(8) 2.3.. Modelos estadı́sticos basados en IFFT. . . . . . . . . . . . . . . . . . .. 22. 2.4.. Espectros de oleaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. 2.4.1. Espectro Pierson-Moskowitz . . . . . . . . . . . . . . . . . . . .. 25. 2.4.2. Espectro de JONSWAP . . . . . . . . . . . . . . . . . . . . . . .. 26. 2.4.3. Espectro TEXEL MARSEN ARSLOE (TMA) . . . . . . . . . .. 27. 2.4.4. Función de dispersión direccional. . . . . . . . . . . . . . . . . .. 28. 2.5.. Discretización del espectro de onda . . . . . . . . . . . . . . . . . . . .. 29. 2.6.. Implementación del modelo matemático para la representación del oleaje 29 2.6.1. Generación del estado de mar sobre la base de un modelo de espectro de ondas reales . . . . . . . . . . . . . . . . . . . . .. 30. 2.6.2. Identificación de los componentes (sistemas de onda) representados por la superficie del mar . . . . . . . . . . . . . . . . . . .. 30. 2.6.3. Cálculo de la energı́a del sistema de ondas. . . . . . . . . . . . .. 31. 2.6.4. Deformación de la superficie . . . . . . . . . . . . . . . . . . . .. 31. 2.7.. Etapas para la simulación gráfica del comportamiento del mar . . . . .. 31. 2.8.. Diseño del sistema DEPTHWAVE . . . . . . . . . . . . . . . . . . . . .. 32. 2.8.1. Arquitectura del sistema . . . . . . . . . . . . . . . . . . . . . .. 32. 2.8.2. Funcionalidades y diagramas UML . . . . . . . . . . . . . . . . .. 33. Consideraciones finales del capı́tulo.. . . . . . . . . . . . . . . . . . . .. 35. Evaluación del desempeño de la aplicación para la simulación gráfica del comportamiento del mar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 3.1.. Interfaz de ususario de la aplicación DEPTHWAVE . . . . . . . . . . .. 36. 3.1.1. Secuencia de ejecución . . . . . . . . . . . . . . . . . . . . . . .. 37. 3.1.2. Requerimientos y opciones de configuración . . . . . . . . . . . .. 39. Pruebas de verificación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 3.2.1. Elementos visuales incorporados a la representación . . . . . . .. 41. 3.2.2. Estados del mar simulados . . . . . . . . . . . . . . . . . . . . .. 44. 3.2.3. Mallas de simulación utilizadas . . . . . . . . . . . . . . . . . . .. 45. 3.2.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 45. 3.3.. Análisis económico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 47. 3.4.. Consideraciones del capı́tulo . . . . . . . . . . . . . . . . . . . . . . . .. 48. CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 49. RECOMENDACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 50. 2.9. 3.. 3.2.. iii.
(9) REFERENCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . .. iv. 56.
(10) INTRODUCCIÓN La aparición y rápida expansión de los ordenadores digitales con altas potencialidades de cálculo, a partir de la segunda mitad del siglo XX, han ofrecido nuevas oportunidades para el estudio y la simulación de fenómenos fı́sicos más complejos, lo cual representa enormes ventajas para diversas áreas. 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). La incorporación de la simulación realista del mar a un simulador marino permite mejorar y optimizar la operatividad durante la navegación. Numerosos simuladores marinos se han construido para mejorar el desempeño de los usuarios en el uso de las diversas embarcaciones en escenarios marinos (Kopp, 1993; Van der Wardt, 2010; Lidtke, 2013). Empresas como TRANSAS (TRANSAS, 2017) y KONSBERG (Kongsberg Maritime, 2012) y centros de investigaciones, entre ellos The California Maritime Academy en Estados Unidos (Merrick, 2003), constituyen entidades prestigiosas que se dedican al desarrollo de simuladores para el entrenamiento marı́timo (Sendi, 2015). Por lo general, los simuladores marinos son utilizados para propósitos educativos (Sandaruwan, 2010; Šimić, 2012; Bø, 2015; Gralak, 2016), evitando el costo monetario, de tiempo y de peligrosidad que incluyen las pruebas en condiciones reales (Hontvedt, 2013). La adopción de tecnologı́as de simulación modernas han propiciado la evolución de los simuladores hacia sistemas de entrenamiento marı́timo basado en simulación (MSBT) (Sendi, 2015). Estos sistemas se diferencian de los simuladores marinos convencionales en la forma de aplicar los procedimientos pedagógicos en la enseñanza especializada en ambientes marinos, y la medición de los conocimientos y habilidades en los operadores. Esta tecnologı́a generalmente es adquirida sólo por academias navales y centros marinos de capacitación debido a sus costos excesivos. En Cuba, no se poseen registros del desarrollo de un sistema para el entrenamiento de operadores en un ambiente virtual con estas caracterı́sticas. Ello ha motivado el surgimiento de un proyecto bilateral entre el Centro de Investigación y Desarrollo de Simuladores (SIMPRO) y el Grupo de Automatización, Robótica y Percepción (GARP ) de la Universidad Central “Marta Abreu”de las Villas, para implementar un prototipo de simulador de un catamarán con vistas a la preparación del personal. 1.
(11) INTRODUCCIÓN. 2. 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, 2017; Lastra, 2017; 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, 2005). Para lograr este proceso deben considerarse una serie de aspectos: 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, 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 ópticas de la superficie del océano, se necesita implementar un conjunto de funciones matemáticas que permitan la representación de estos efectos (de la Fuente, 2011). Motor gráfico: Es la interfaz principal para la implementación del mundo virtual. Su funcionalidad básica es proveer al sistema de un motor de renderizado para los gráficos 2D y 3D, administración de memoria, entre otras. Existen gran cantidad de motores gráficos, pero pocos reúnen las condiciones de gratuidad, licencia de código abierto y desarrollo en C++ (Varela, 2015a). La superficie del mar aunque circunscrita a un espacio, está compuesta por un conjunto infinitos de puntos sobre los cuales es posible reproducir el comportamiento del oleaje, a partir de los diferentes modelos existentes. Esto explica la necesidad de disponer de técnicas que permitan una discretización de la dinámica del fluido. Con tales fines, en la literatura se abordan dos enfoques de solución: la basada en partı́culas y la basada en malla de superficie (Jeschke, 2017). La mayorı́a de los trabajos relacionados con la simulación del oleaje en tiempo real, emplean la discretización basada en malla de superficie, lo cual.
(12) INTRODUCCIÓN. 3. asegura su utilización en ambientes interactivos, tales como los juegos y los simuladores de entrenamiento (Thon, 2002; Tessendorf, 2004; Fréchot, 2007; Varela, 2014; Anil, 2016). Cuando se trabaja con modelos en el dominio espectral, son varios los métodos de solución que se proponen (Thon, 2002; Fréchot, 2006; Darles, 2011). Actualmente los métodos espectrales más populares (Varela, 2015b; Horvath, 2015; Lining, 2017; Jin, 2018) están basados en el trabajo de Tessendorf (Tessendorf, 2001). Estos métodos están constituidos por un conjunto de sistemas de ondas definidas en una superficie de resolución y dimensiones controlables, que puede ser repetida para representar grandes extensiones del mar. La superficie es deformada por un número elevado de sinusoides, que se superponen en cada punto para conformar un campo de elevaciones. Las propiedades armónicas representadas, como amplitud y frecuencia, se basan en ecuaciones empı́ricas y otras de tipo estadı́sticas asociadas a los estados del mar. La malla de superficie del mar, debe implementarse en un ambiente virtual usando un motor gráfico que sirva de interfaz para el procesamiento gráfico en los dispositivos de hardware y que proporcione una apariencia visual aceptable, ası́ como de un desempeño de los fotogramas por segundo acorde con los requerimientos de tiempo real (Möller, 2008). El motor de renderizado 3D orientado a escenas denominado Object-Oriented Graphics Rendering Engine (OGRE3D, por sus siglás en inglés), es uno de los productos de código abierto bajo licencia (MIT, Massachusetts Institute of Technology) y extensible por medio del lenguaje C++ que ofrece grandes oportunidades para el desarrollo de aplicaciones en ambientes interactivos (Junker, 2006). Sigue el patrón de Sistema-Componente-Entidad (ECS, por sus siglas en inglés), permitiendo modificar el comportamiento de una entidad en tiempo de corrida. Este motor posee referentes en la comunidad cientı́fica de su uso en aplicaciones relacionadas con simuladores marinos (Anil, 2016; Varela, 2015a; Yeo, 2012). Para dotar la representación de la superficie de otros elementos visuales, que garanticen una simulación más realista, se recomienda emplear el complemento Hydrax. En el mismo se encuentran implementadas las funciones de reflexión y refracción que permiten representar la interacción entre la luz y el agua. Para el desarrollo de un sistema de Entrenamiento Marı́timo Basado en Simulación para el catamarán de SIMPRO se necesita contar con una representación del entorno marino. Como los movimientos de la embarcación son inducidos mayormente por el oleaje, la simulación de los estados del mar debe ser realista desde el punto de vista fı́sico. Para lograr la simulación interactiva de las olas para un ambiente virtual es necesario introducir una superficie irregular del mar válida estadı́sticamente con una apariencia visual aceptable y un desempeño de fotogramas por segundo acorde con los requerimientos de tiempo real. La malla de superficie del mar debe implementarse en un ambiente virtual que se ejecute sobre un motor gráfico que sirva de interfaz para el usuario..
(13) INTRODUCCIÓN. 4. Tomando en consideración lo antes expuesto se plantea el siguiente problema cientı́fico: Debido a la complejidad asociada a las olas y al efecto que las mismas provocan sobre la navegación de un vehı́culo marino, se requiere de una representación visual de la superficie del mar que describa con precisión las caracterı́sticas del entorno marino en las que opera el catamarán de SIMPRO, que pueda ser implementada en un motor gráfico y que asegure una visualización realista de la superficie del mar. Con esta investigación se pretende cumplir los siguientes objetivos: Objetivo general: Diseñar una aplicación interactiva para generar y visualizar de forma realista la superficie del mar. Objetivos especı́ficos: 1. Establecer los aspectos teóricos relacionados con los algoritmos que se emplean para la simulación de la superficie del mar. 2. Implementar un método matemático basado en diferentes espectros direccionales para la representación gráfica de la superficie del mar en aguas profundas. 3. Implementar en un motor gráfico una interfaz que permita la interacción con el usuario. 4. Evaluar mediante simulación la representación visual de la superficie del mar. La hipótesis de la presente investigación es sustentada por los resultados de la revisión bibliográfica que se presenta en el Capı́tulo 1. Hipótesis: Una aplicación desarrollada con el motor gráfico OGRE3D para el catamarán de SIMPRO, que cuenta con la implementación de un método matemático basado en diferentes espectros direccionales, permite generar y visualizar de forma realista la superficie del mar. Para lograr el cumplimiento de los objetivos expuestos anteriormente, se proponen las tareas siguientes: Tareas de investigación: Revisión bibliográfica sobre la temática de representación visual del comportamiento del mar. Estudio de los métodos de simulación del oleaje. Estudio de los métodos en los que se utilizan los espectros de ondas. Diseño del diagrama de clases a utilizar mediante U M L. Implementación en el motor gráfico OGRE3D del modelo de representación programado en C++. Validación de los resultados mediante simulación gráfica bajo el criterio de experto. Evaluación del desempeño computacional de las simulaciones. Elaboración del informe cientı́fico de la investigación..
(14) INTRODUCCIÓN. 5. La investigación incluye tres capı́tulos, además de las conclusiones, recomendaciones y referencias bibliográficas. Los temas que se abordan en cada capı́tulo se encuentran estructurados de la forma siguiente: Capı́tulo I: A partir de un estudio de la bibliografı́a especializada se presenta una descripción general de los aspectos a considerar en el proceso de simulación del oleaje. Se efectúa un análisis de las diferentes técnicas para la representación de la superficie del mar; ası́ como de los modelos para la representación del oleaje. La valoración crı́tica realizada sobre los mismos incluye la selección del enfoque espectral en función de los estados del mar para la generación del campo de altura. Capı́tulo II: Se presenta el modelo estadı́stico para la generación del campo de altura del oleaje. Se explican los principales aspectos necesarios para evitar malformaciones y obtener una representación no lineal e irregular del mar, lo cual es necesario para alcanzar un comportamiento similar a la realidad. Se incluyen diferentes espectros para lograr el ajuste del algoritmo ante los diferentes escenarios de operación. Capı́tulo III: Se abordan las diferentes etapas por las que transita la simulación gráfica para la representación del oleaje. Se presentan simulaciones para ilustrar el comportamiento alcanzado para los diferentes estados del mar. El prototipo final de la interfaz de usuario del sistema, ası́ como el análisis económico y medioambiental realizado de la propuesta son mostrados al final del capı́tulo..
(15) CAPÍTULO 1 ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. En este capı́tulo se presenta una descripción general del proceso de simulación del oleaje. Se efectúa un análisis de los diferentes modelos que se emplean para la representación de la superficie del mar, ası́ como de las técnicas de discretización utilizadas en cada caso. Adicionalmente, se abordan otros elementos visuales adecuados para lograr una simulación más realista, tales como la interacción entre la luz y el agua. Por último, se evalúan crı́ticamente las funcionalidades de los motores gráficos existentes y se analizan las diferentes propuestas para la generación de la superficie del mar. 1.1.. Descripción general del proceso de simulación del oleaje.. 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, 2017; Jin, 2018). En particular la simulación realista de la superficie oceánica, retomada e impulsada por Tessendorf (Tessendorf, 2001), continúa 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). En este último caso, la representación del mar constituye un elemento esencial para la generación de escenarios virtuales en aplicaciones como son los simuladores marinos. En el esquema de la Figura 1–1 se resume el funcionamiento de un simulador (Varela, 2015a), donde la simulación del oleaje constituye un módulo fundamental en el sistema. En los inicios del desarrollo de representaciones gráficas de la superficie del mar en escenarios virtuales, la visualización tenı́a un peso mayor en relación al realismo fı́sico. La evolución del procesamiento computacional hizo posible adaptar los métodos cientı́ficos para la simulación realista de la superficie del mar, siguiendo el concepto de realismo funcional (Ferwerda, 2003). No obstante, aún esta simulación constituye un fenómeno computacionalmente complejo, que puede descomponerse en dos tareas fundamentales: Representación de la superficie. Representación de otros elementos visuales. 6.
(16) 7. ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. Sistema de Entradas. Módulo Principal. Animación. API Gráfica. Módulo Simulación del Navío. Estado del navío. Órdenes de maniobrabilidad. Estado del entorno. Usuario. Estado del mar. Elevación de la superficie. Módulo Simulación del Mar. Figura 1–1: Esquema general de un simulador marino. Las investigaciones realizadas demuestran una variedad de formas para abordar la representación de ambos elementos (Max, 1981; Fournier, 1986; Peachey, 1986). El avance de estas propuestas está en el uso de los modelos oceanografı́cos para definir las caracterı́sticas de las ondas representadas en la superficie del mar en función de sus estados, según la escala de Beaufort (Dunlop, 2008). A continuación, se describen las diferentes técnicas para la discretización del espacio en el cual se simula el fenómeno del oleaje, también se realiza una descripción de los diferentes modelos propuestos para la representación de la superficie del mar en cada caso. 1.2.. Técnicas para la discretización de la superficie. La superficie del mar, aunque circunscrita a un espacio de simulación finito, está compuesta por un conjunto infinitos de puntos sobre los cuales es posible reproducir el comportamiento del oleaje, a partir de los diferentes modelos existentes. Esto explica la necesidad de disponer de técnicas que permitan una discretización de la dinámica del fluido. A continuación, se abordan dos grandes formas de solución referidas en la literatura: discretización basada en partı́culas (técnica lagrangiana) y la basada en malla de superficie (técnica euleriana) (Jeschke, 2017). Dada la alta complejidad computacional que imponen los modelos para la generación del oleaje, una de las alternativas ampliamente utilizadas por la comunidad cientı́fica para garantizar que se obtengan resultados lo suficientemente rápidos, consiste en reducir la resolución de la malla o el número de partı́culas a cifras centenarias. En el caso de las técnicas basadas en mallas, otra alternativa para acelerar la simulación es reducir la dimensionalidad del problema de mallas de 3 dimensiones (3D) a 2 dimensiones (2D) para la representación del campo de altura de la ola..
(17) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 1.2.1.. 8. Discretización basada en partı́culas. Los sistemas de partı́culas son una técnica importante en computación gráfica, las partı́culas se mueven según las leyes de Newton, pero son independientes entre sı́. Estos se llaman sistemas de partı́culas desacopladas y no simulan fluidos de forma realista porque se ignoran las fuerzas internas. En un sistema acoplado, las partı́culas pueden interactuar entre sı́. Esto hace posible simular el sistema de partı́culas de forma más realista. Un método común para simular las partı́culas es repelerse mutuamente si están muy cerca, atraerse entre sı́ a una distancia media, y dejar que las fuerzas de atracción se acerquen a cero a medida que aumenta la distancia obteniéndose simulaciones eulerianas, como burbujas o salpicaduras (Chentanez, 2010; Enright, 2002). Una solución lagrangiana ha sido el Smoothed-particle hydrodynamics (SPH) (Monaghan, 1992). Este es un método donde se mueven las partı́culas de acuerdo con las fuerzas hidrodinámicas y gravitacionales. En sus inicios SPH fue desarrollado originalmente para simular fluidos compresibles, pero ha sido modificado para simular fluidos incompresibles como el agua. Los grandes pasos de tiempo necesarios para muchas partı́culas hacen que SPH sea inestable (Tavakkol, 2016). 1.2.2.. Discretización basada en mallas. Las técnicas eulerianas para la discretización de la superficie se basan en lograr una descomposición en arreglos de celdas básicas de tamaño uniforme que contienen un pequeño volumen del fluido donde aplicar los cálculos. La Figura 1–2 permite realizar una comparación visual de las configuraciones de la malla. Estas son reconocidas en la literatura como: la configuración de celda colocada , Figura 1–2(a), y MAC (Maker and Cell ), Figura 1–2(b), o modelo escalonado (Krijt, 2014). En ambos las propiedades del fluido son almacenadas al centro de la celda. De ellos el primero ha sido más ampliamente utilizado, en este se almacenan las propiedades del fluido y las componentes del vector de velocidad relativo al centro de cada celda; mientras que en el modelo de cuadrı́cula escalonada, solo las propiedades de fluido se almacenan en el centro de la celda, y las velocidades se almacenan en las caras lı́mites que dividen a las celdas adyacentes.. (a) Celda colocada. (b) MAC. Figura 1–2: Modelos eulerianos. La representación de la superficie mediante un campo de altura en una malla regular es otro método de discretización, se basa en descomponer las alturas de las olas en un conjunto.
(18) 9. ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. finito de puntos, que son representados en cada vértice de una malla regular como se muestra en la Figura 1–3. Esta técnica es una de las formas más rápidas de simular la malla dependiendo de las dimensiones, por lo que su uso en simuladores y escenas es muy común (Anil, 2016; Varela, 2015b; Jin, 2018; Horvath, 2015).. Figura 1–3: Representación del campo de alturas del mar. La selección de una técnica de discretización requiere la utilización de un modelo que permita la representación matemática del oleaje. En la Figura 1–4 se presenta los modelos asociados a la técnica de discretización basada en malla.. Simulación del mar. Basada en Malla. Empíricos Funciones paramétricas. Sistema de partículas. Basados en la física Simplificación de Navier-Stokes. Malla 2D Campo de altura. Malla 3D. Figura 1–4: Técnicas de discretización de la superficie del mar. Atendiendo a la caracterı́sticas de la profundidad del mar los modelos para la simulación del oleaje pueden clasificarse en los que se enfocan a la simulación del fenómeno en aguas profundas (los conocidos modelos empı́ricos) o en aguas bajas (los denominados modelos fı́sicos) (Darles, 2011). 1.3.. Modelos fı́sicos para la representación del oleje. Los métodos basados en modelos fı́sicos no constituyen propiamente un método de simulación de aguas oceánicas, sino que ofrecen mecanismos para el estudio de este fenómeno a partir de principios fı́sicos comunes. En general, el desarrollo y evolución del hardware, ha permitido que las aplicaciones interactivas hayan impulsado la mayorı́a de los fenómenos.
(19) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 10. de simulación. Un ejemplo de esta tendencia lo constituye la dinámica de cuerpos rı́gidos, donde los modelos fı́sicos constituyen una solución estándar para la mayorı́a de los videojuegos. En el caso de la simulación de la superficie oceánica, sin embargo, el costo computacional de simular toda la superficie del océano continúa siendo demasiado. En esta sección se ilustran algunos métodos generales del campo computacional de la dinámica de fluidos (CFD), con énfasis en las caracterı́sticas que permiten su adaptación a la estimación de la superficie del océano. 1.3.1.. Ecuaciones de Navier-Stokes. El conocido conjunto de ecuaciones de Navier-Stokes (NSE, Navier-Stokes equations) describen el flujo de fluidos viscosos. Estas ecuaciones se obtienen como resultado de aplicar la segunda ley de Newton al movimiento continuo de fluidos. Comúnmente los trabajos basados en esta propuesta constituyen la principal alternativa utilizada para la simulación del oleaje en aguas poco profundas. Para encontrar una solución aproximada a estas ecuaciones recurren a una discretización en tiempo y espacio. Con relación a la discretización del tiempo, los factores más importantes que influyen en la calidad del resultado son la selección del esquema de integración y la duración del tiempo. Ambos factores son, en esencia, un conflicto entre la velocidad y la precisión, y por lo tanto deben ser elegidos e implementados cuidadosamente en un ambiente en tiempo real. Se han usado varios esquemas de integración para la discretización del conjunto de NSE, el más común de ellos para imprimir realismo lo constituye el esquema de integración semi-lagrangiana. Debido a que es posible emplear una combinación de las dos formas de discretización abordadas en el epı́grafe anterior(Chentanez, 2010), el enfoque euleriano basado en malla ha sido mayormente utilizado para la generación de la superficie, de manera que el espacio de simulación se divide en celdas de tamaño uniforme que contienen un pequeño volumen del fluido, y los cálculos se realizan por celda. El enfoque lagrangiano basado en partı́culas ha sido mayormente utilizado solo para representar pequeños detalles como el efecto de salpicadura o espuma generadado por el choque entre olas (Darles, 2011). Lo antes enunciado ilustra que las propiedades de NSE son altamente dependientes del escenario y la forma de discretización elegida. Sin embargo, se puede decir que solo los métodos fı́sicos basados en aproximaciones de NSE capturan completamente el comportamiento complejo de la dinámica del mar en aguas poco profundas cercanas a la costa (Darles, 2011). Cuando se consideran los enormes volúmenes de agua que necesitarı́an ser simulados en el caso del océano (incluida la totalidad de su profundidad), se vuelve obvio que no se puede esperar que el NSE se ejecute en tasas razonables de fotogramas por segundo (F P S, en inglés frames per second ) para ambientes interactivos..
(20) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 11. En general estos modelos no son útiles para la simulación del oleaje en aguas profundas debido a que su complejidad computacional crece proporcionalmente a la complejidad de los datos. 1.3.2.. Ecuaciones de Saint-Venant. Las ecuaciones de aguas poco profundas de Saint-Venant también conocidas como (SWE, Shallow Water Equations) son derivadas de las ecuaciones del movimiento de fluidos completas de Navier-Stokes. Primero utilizado por (Michael, 1990), las SWE adoptan un enfoque simplificado para la simulación de la superficie del océano y a diferencia del sistema completo de NSE, emplea una malla uniforme de celdas en un dominio de simulación 2D; tal que, cada celda sostiene como propiedad la altura del fluido en la columna en lugar de la densidad. La Figura 1–5 ilustra una comparación visual de la forma en la cual SWE divide e interpreta el espacio de simulación.. (a) SWE. (b) NSE. Figura 1–5: Visualización de los modelos en aguas poco profundas. En general, el SWE ofrece un mejor balance entre precisión y rendimiento. A pesar de perder la capacidad de simular todos los fenómenos del fluido, el método exhibe las propiedades más importantes del método NSE. La restricción 2D permite reducir considerablemente la complejidad del cálculo, ası́ como su tamaño. Sin embargo, como el método está diseñado para simulaciones de aguas poco profundas, no puede usarse para una simulación de superficie oceánica a gran escala, a pesar de las consideraciones de rendimiento de tal enfoque. En (Jensen, 2001) proponen una solución hı́brida que utiliza el modelo fı́sico de NSE para adicionar realismo a pequeños espacios de la superficie del mar generada por un método espectral que se introduce en el siguiente epı́grafe. 1.4.. Modelos empı́ricos para la representación del oleaje. Los modelos empı́ricos pueden obtenerse a partir de ecuaciones empı́ricas o estadı́sticas resultantes de datos históricos obtenidos mediante mediciones oceanográficas. Por lo que, estos modelos pueden subdividirse en dos categorı́as principales: (i) los que se basan en calcular la posición de la aproximación de cada punto de la superficie a partir de ecuaciones paramétricas y (ii) los que aplican la trasformada inversa de Fourier para generar el campo de altura en función de los espectros direccionales de energı́a. Como consecuencia, se han realizado varios intentos por obtener modelos que generen regiones oceánicas.
(21) 12. ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. con caracterı́sticas realistas, a partir de los estados del mar definidos acorde la escala de Beaufort (Dunlop, 2008). 1.4.1.. Ecuaciones paramétricas. Los modelos basados en los resultados obtenidos por este tipo de ecuaciones parten de la idea de aproximar la superficie a partir del campo de altura que alcanza un conjunto de partı́culas. De manera que, el movimiento de cada partı́cula de la superficie puede ser descrito por ecuaciones dependientes del tiempo y la posición horizontal. La representación virtual de la superficie del mar se traduce en computar un campo de elevaciones z = f (x, y), donde z corresponde a la elevación de la superficie en el punto (x, y). Especı́ficamente, el método de Max (Max, 1981) propone representar el movimiento de las partı́culas basado en la evaluación de una serie de sinusoides de varias amplitudes. Tal que una ola está formada por la amplitud Ai , el vector de onda ki y frecuencia wi . En (Peachey, 1986) se propone otra variante para el cálculo del vector de ola K, a partir de la magnitud d que representa la profundidad del punto relativo al fondo oceánico. La teorı́a de las ondas de Gerstner (von Gerstner, 1809) describe el movimiento de una partı́cula de la superficie basado en el movimiento circular por el cual transita la ola. El empleo de esta teorı́a fue iniciada (Fournier, 1986) para la generación gráfica del oleaje, logrando obtener una descripción más realista basada en los trocoides (von Gerstner, 1809). Esta teorı́a ofrecı́a una nueva alternativa para describir el movimiento de una partı́cula de la superficie dependiente del vector de ola, el tiempo de simulación, la amplitud, la posición horizontal, ası́ como la frecuencia y la longitud de la ola. La Figura 1–6 ilustra la forma de la ola frecuentemente observada como la onda seno y experimentalmente observada como la describe un trocoide. 4. 4. 3. 3. 2. 2. 1. 1. 0. 0. -1. -1. -2. -2. -3. -3. -4. -6. -4. -2. 0. (a) Onda seno. 2. 4. 6. -4. -6. -4. -2. 0. 2. 4. 6. (b) Trocoide. Figura 1–6: Forma de la ola como una onda seno y como un trocoide . Aunque los métodos basados en modelos empı́ricos paramétricos enunciados permiten un control directo, rápido y superior de la superficie; los reportes de (Tessendorf, 2001, 2004) tienen una tendencia a minimizar el uso de la teorı́a de olas de Gerstner a causa de su bajo realismo. Por el contrario, los métodos basados en espectros de mediciones que se.
(22) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 13. presentan a continuación siguen siendo ampliamente utilizados (Varela, 2015b; Horvath, 2015; Anil, 2016; Lining, 2017; Jin, 2018). 1.4.2.. Espectros de medición. En contraste a los métodos paramétricos antes expuestos, los modelos empı́ricos basados en espectros no utilizan directamente la posición en cada punto de la superficie, sino que describen la distribución de las longitudes y amplitudes de las olas bajo condiciones especı́ficas, tales como el tipo de océano y el estado del tiempo (Lining, 2017). Por sı́ mismo, no pueden emplearse para generar la forma de la superficie. Sin embargo, combinados con la (IFFT, Inverse Fast Fourier Transform) son capaces de transformar los datos desde el dominio espectral al dominio espacial representando una señal uniformemente espaciada en muestras, a partir de la cual se generan superficies de tamaño fijo. Actualmente los métodos espectrales más populares (Varela, 2015b; Horvath, 2015; Lining, 2017; Jin, 2018) son basados en el trabajo de Tessendorf (Tessendorf, 2001). El método de Tessendorf (Tessendorf, 2001) es constituido por un conjunto de sistemas de ondas definidas en una superficie de resolución y dimensiones controlables, que puede ser repetida para representar grandes extensiones del mar. La superficie es deformada por un número elevado de sinusoides, que se superponen en cada punto para conformar un campo de elevaciones. Las propiedades armónicas representadas, como amplitud y frecuencia, se basan en modelos empı́ricos y estadı́sticos de estados del mar. Lo que confiere realismo al modelo es el número elevado de sinusoides, la relación entre las amplitudes y las frecuencias, y la relación de dispersión. 1.5.. Renderizado de efectos visuales. Otros aspectos importantes para imprimir realismo en la simulación de la superficie del mar son: el nivel de detalle, el teselado y efectos ópticos como la reflexión o refracción. Un balance adecuado entre el realismo adicional que imprimen estos efectos a la escena de simulación y la complejidad computacional al renderizado debe tenerse en cuenta, con el propósito de lograr cumplir con los requisitos de percepción humana. A continuación, se abordan los principales efectos empleados en trabajos recientes para cumplir con estos requisitos (Varela, 2015a; Krijt, 2014; Horvath, 2015). Entre los cuales se destacan la simulación de rayos crepusculares, superficie cáustica, la espuma generada por el rompimiento de olas, entre otros. Reflexión y refracción. La mayorı́a de los efectos visuales del agua se deben a reflejos (Premože, 2000) y refracciones (Roswell, 1986). Cuando un rayo de luz golpea la superficie del agua, parte de ella se refleja en la atmósfera y al incidir sobre un objeto causa cáusticos reflectantes. En el océano especı́ficamente se transmite dentro del volumen de agua, dispersándose, provocando el conocido efecto de los rayos crepusculares. Por lo que, una iluminación correcta requiere tener en cuenta las ondas de primer orden..
(23) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 14. Color del agua. Jensen y Golias (Jensen, 2001) señalan que para aguas profundas solo se deben encuadrar las refracciones locales ya que no se puede ver el fondo del mar o cualquier otro objeto colocado profundamente. Sin embargo, el agua en sı́ tiene un color que depende de la dirección del rayo incidente, la dirección de observación y sus propiedades. Superficie cáustica. Los cáusticos son patrones de cambio ligeros debido a la luz solar transmitida desde la superficie. Los cáusticos son un efecto tı́pico de iluminación indirecta y generalmente son muy difı́ciles de conseguir. Afortunadamente, se puede resolver el problema solo teniendo en cuenta los rayos de primer orden (es decir, una sola transmisión difusa especular) y suponiendo que la recepción de la superficie difusa está a una profundidad constante (Jensen, 2001). Espuma y pulverización. La cantidad de espuma se define por vértice y se utiliza como un factor de transparencia para mezclar con la textura del océano. El desove y la disipación de espuma se basan en la diferencia de pendiente del vértice y sus vecinos. En caso de que la diferencia sea menor que un lı́mite negativo elegido, se aumenta el factor de espuma, lo que genera más espuma; de lo contrario, la cantidad de espuma es disminuida en una constante, lo que resulta en una disipación lineal gradual de la espuma. La pulverización puede ser implementada utilizando sistemas de partı́culas estándar, sin embargo, para la espuma, los autores (Krijt, 2014; Darles, 2011) señalan que, si bien el uso del sistema de partı́culas también serı́a una opción, el costo de rendimiento podrı́a ser notable. 1.6.. Motores gráficos. Un motor gráfico puede ser definido como una estructura que abarca una colección de diferentes herramientas, utilidades, e interfaces que ocultan los detalles de bajo nivel de varias tareas (Sherrod, 2006). Ofrece al programador una funcionalidad básica, proporcionando un motor de renderizado para gráficos 2D/3D, detección de colisiones fı́sicas de objetos, audio, animación, inteligencia artificial, comunicación por red, ejecución en hilos, gestión de memoria y soporte para localización (Cowan, 2014). Entre las herramientas que poseen motores gráficos más populares en la actualidad se encuentran Unity (Broderick, 2016; Chen, 2012), Torque (Zhu, 2016), Unreal (Emperore, 2015), XNA (Joselli, 2014), entre otros. Una gran parte de ellos, se utilizan en lo que se denomina juegos serios o serious games. La definición de este término abarca a aquellos juegos que tienen como objetivo transmitir algún mensaje o aporte, ya sea conocimiento, habilidad o contenido que emana de un conocimiento o experiencia (Laamarti, 2014). Los juegos serios es el ejemplo más extendido del avance de esta industria en sectores como el militar e industrial, gracias a que los simuladores permiten recrear situaciones próximas a la realidad de una forma segura al igual que el entrenamiento en un entorno real. La Tabla 1–1 ilustra algunas caracterı́sticas de los motores gráficos antes señalados..
(24) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 15. Tabla 1–1: Motores gráficos. Caracterı́sticas Lenguaje de. Torque3D C++. Scripting. TorqueScript. Multiplataforma SDL 2D/3D. No No 3D Windows, Linux, OS X MIT. Plataforma Licencia. Unity3D Unreal Engine C# C++ C#, C++, UnrealScript JavaScript, Boo Sı́ Sı́ Sı́ Sı́ 3D 3D Windows, Linux, Windows, Linux, OS X, Android OS X NS/NC NS/NC. En la actualidad no existe un sistema de simulación gráfica basada en modelo para el entrenamiento marino bajo licencia de código abierto (Sandurawan, 2011). No obstante, existen sistemas de navegación virtual en 3D basados en diferentes motores gráficos(Vera, 2014; Yuan, 2014), motores de fı́sica (Mondesire, 2016), motores gráficos orientados a la simulación para entrenamiento (McDowell, 2006), entre otros componentes, que se encuentran bajo licencia pública. Uno de los motores gráficos de código abierto más populares es OGRE3D (Navarro, 2012). Aunque no es técnicamente un motor de juego, sino un conjunto de herramientas para gráficos 3D, es orientado principalmente a escenas y se caracteriza por la arquitectura ECS, posibilitando la independencia de sistemas o componentes para una futura reutilización. Además, proporciona bibliotecas para evitar las dificultades asociadas con el uso de OpenGL y Direct3D de Microsoft. Este motor de renderizado, surgido en 2001 e implementado en C++, es freeware y de código abierto. Posee licencia bajo los términos de la licencia MIT y tiene una comunidad activa en torno a su uso y desarrollo. Tiene una gran base de usuarios que crea aplicaciones para varios sistemas operativos. Por otra parte, al considerar la elección de un motor gráfico, para implementar la simulación interactiva en ambientes virtuales de vehı́culos marinos, se debe tener en cuenta aspectos como la portabilidad y extensibilidad desde el punto de vista de arquitectura de software. Aunque motores como Unity se han utilizado para este tipo de aplicaciones (Broderick, 2016; Chen, 2012), son sistemas que no son totalmente transparentes en la manipulación de las tecnologı́as gráficas y no son libres. Uno de los principales problemas con los motores gráficos propietarios consiste en la imposibilidad de modificar el motor subyacente si no satisface las necesidades actuales de la aplicación (McDowell, 2006). Aunque OGRE3D no presenta muchas funcionalidades que poseen los motores gráficos de primera lı́nea, es suficiente para construir un sistema adaptable, extensible, en código C++, libre y con los requerimientos necesarios para tiempo real (Möller, 2008). Varias.
(25) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 16. investigaciones avalan estas ventajas (Sandurawan, 2011; Varela, 2015a) por lo cual es adoptado en esta tesis. 1.7.. Soluciones para la representación de la superficie del mar. La representación consiste en describir la superficie del océano, utilizando la notación espacial que posibilita el cálculo de los componentes que proporcionan una caracterización geométrica de la superficie como un campo de altura dinámico definido para cada punto. Algunos autores han optado por repesentaciones lineales. Esos son los casos de Bruce (Schachter, 1981) y Nelson (Max, 1981) sumaron linealmente funciones coseno para reproducir el campo de altura de la superficie del mar, representando además la reflexión de la luz en la superficie. De esta manera la ola representada es lineal y regular; sin embargo, la ola es no lineal e irregular. Para obtener resultados más realistas, los investigadores comenzaron a emplear métodos no lineales. La onda de Gerstner (von Gerstner, 1809) es una solución exacta y no lineal que sirve para representar ondas de amplitud finita en aguas profundas, y se aplica ampliamente en la simulación. Las ecuaciones de Gerstner ofrecen una gran flexibilidad, ya que los puntos a evaluar se pueden elegir arbitrariamente, en cualquier lugar de la superficie. Sin embargo, para cada punto y onda, se deben calcular un par de funciones seno y coseno. Por lo tanto, atendiendo a las prestaciones del hardware debe estimarse para la simulación en tiempo real, el número adecuado de puntos y ondas a considerar para cumplir con los requisitos de calidad del renderizado. Fournier (Fournier, 1986) introdujo la onda Gerstner en la representación de las olas oceánicas y agregó el cambio de fase aleatorio en el modelo. Entonces la onda renderizada se convirtió en irregular y no lineal. Thon (Thon, 2000) y Fréchot (Fréchot, 2006) aplicaron el espectro direccional en el modelo de ondas propuesto por Gerstner. El espectro direccional se obtiene a través de la observación, por lo que los trabajos combinan los datos oceanográficos observacionales con el modelo de ondas de Gerstner. En consecuencia, estos enfoques también se nombran como “enfoques hı́bridos”(Hinsinger, 2002). De esta forma se agregan propiedades estadı́sticas a la representación matemática de una onda irregular y no lineal. Existen trabajos donde se han incluido otros factores como parte de la representación de la superficie del mar. Prachumrak (Prachumrak, 2011) agrega la interacción entre un objeto flotante y la superficie del mar, mientras que en (Thon, 2002) se agrega el ruido de Perlin como una alteración aleatoria al campo de altura. El uso directo de la onda de Gerstner, como se mencionó anteriormente, resulta una solución factible. Sin embargo, si están involucradas muchas ondas tipo coseno, la suma se vuelve costosa computacionalmente. Existe una alternativa más eficaz que implica utilizar.
(26) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 17. la IFFT para resolver la sumatoria de funciones coseno, lo cual se conoce como modelo IFFT de Gerstner. El uso de IFFT tiene un alto grado de paralelismo en cada etapa del cálculo y su implementación se acelera de manera eficiente por GPU. Mastin (Mastin, 1987) es el pionero de la aplicación del modelo de ondas IFFT en gráficos. Por su parte, Tessendorf (Tessendorf, 2001) propone una metodologı́a acerca de como utilizar IFFT de Gerstner para representar escenas en tiempo real de la superficie del mar, considerando los efectos ópticos que se manifiestan en la misma. En el método de Tessendorf el coeficiente de Fourier contiene el espectro del número de onda y los números aleatorios, por lo que la onda generada puede ser considerada irregular, no lineal y con propiedades estadı́sticas. Lo antes expuesto evidencia que, los modelos empı́ricos basados en la IFFT y los espectros de ondas favorecen la simulación del oleaje en aplicaciones que se ejecutan en tiempo real y justifica la razón por la que se han utilizado ampliamente. El ruido de Perlin (Wang, 2013) y los datos de alta frecuencia (Nielsen, 2013) también pueden agregarse a la representación de la superficie del mar mediante IFFT. Por otra parte, el modelo de la onda IFFT de Gerstner también puede utilizarse para crear los efectos especiales, como las salpicaduras, el witecap y la espuma. El método de Tessendorf (Tessendorf, 2001) que utiliza IFFT, tiene como desventaja que posee una carga computacional considerable por el elevado número de sinusoides representadas. Es por ello que varias propuestas de solución se han derivado del trabajo de Tessendorf, utilizando un enfoque hı́brido, en el dominio espectral y espacial, con un número reducido de ondas, pero sin utilizar la IFFT (Thon, 2000, 2002). Esto último provoca que se pierdan las propiedades estadı́sticas del espectro con lo cual se afecta el realismo del modelo. Teniendo como base el método de Tessendorf, varias investigaciones trabajan el enfoque espectral. Un muestreo de espectro adaptativo es propuesto para obtener una representación realista del mar en (Fréchot, 2006). La idea consiste en muestrear nuevamente el espectro correspondiente a las áreas de altas frecuencias, dependiendo de la distancia del observador. De esta manera, el nivel de detalle utilizado en la superficie del mar pasa a tener un papel importante en las simulaciones interactivas (Hinsinger, 2002; Li, 2009). La optimización del modelo de Tessendorf constituye otra alternativa de solución basada en un enfoque espectral. De esta manera se logra obtener un mayor rango de frecuencias con una distribución más uniforme del sistema de la ola y mayor densidad de ola en la zona de baja frecuencia-alta energı́a a partir de discretización del espectro (Varela, 2014). Sin embargo, Chen (Lining, 2014) señala que al aplicar el método de Tessendorf (Tessendorf, 2001), cuyo coeficiente de Fourier contiene el espectro en número de ondas y números aleatorios para generar olas aleatorias y no lineales; si el valor de la constante espectral solo está contenida en la constante de amplitud del espectro pueden ocurrir malformaciones..
(27) 18. ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. Como solución a este problema, este autor reformula el método de Tessendorf, al proponer computar el potencial de la onda partiendo directamente del método de Gestner. Esta propuesta solo modifica el cálculo de la amplitud sin afectar las propiedades espectrales del método. Es por ello que en esta tesis se adopta el método de Chen por proveer una representación más realista de la superficie del mar. Aunque los métodos de simulación de la superficie del mar han variado poco, la tecnologı́a para soportar la carga computacional ha evolucionado notablemente. La asignación de la carga hacia las tarjetas gráficas (GPU) en forma de shaders, ha posibilitado la mejora sustancial del desempeño de estas aplicaciones (Kryachko, 2005; Mitchell, 2005). Generalmente, la técnica consiste en computar el desplazamiento de la geometrı́a usando VBO en la memoria de la tarjeta gráfica, ası́ como almacenar la geometrı́a de la malla, evitando transmitir datos en cada fotograma (Finch, 2004). En la Tabla 1–2 se muestran varias de las investigaciones que abordan la representación gráfica del mar en aguas profundas y la posibilidad de implementación en GPU. Tabla 1–2: Métodos de representación de la superficie del mar. Referente (Max, 1981) (Fournier, 1986) (Peachey, 1986) (Mastin, 1987) (Thon, 2000) (Jensen, 2001) (Tessendorf, 2001) (Hinsinger, 2002) (Thon, 2002) (Finch, 2004) (Mitchell, 2005) (Fréchot, 2006) (Prachumrak, 2011) (Xiu-liang, 2012) (Varela, 2014) (Horvath, 2015) (Wan, 2015) (Lining, 2017) (Jin, 2018). Dominio Espacial Espacial Espacial Espectral Hı́brido Espectral Espectral Hı́brido Hı́brido Espacial Espectral Espectral Espectral Espectral Espectral Espectral Espectral Espectral Espectral. GPU. x x x x x x x x x x x. El desarrollo por parte de los investigadores de diversas vı́as de representación de la superficie del mar no solo ha sido un avance cientı́fico sino que a su vez se ha impulsado el desarrollo de de aplicaciones especı́ficas. La metodologı́a desarrollada por Tessendorf (Tessendorf, 2001) fue usada en la producción de imágenes cinematográficas en pelı́culas.
(28) ESTUDIO SOBRE LA REPRESENTACIÓN MATEMÁTICA Y LA SIMULACIÓN DEL OLEAJE. 19. como Waterworld y Titanic, por otra parte Jensen y Golias (Jensen, 2001) parten de la metodologı́a de Tessendorf pero aplicada a las escena en videojuegos. En años posteriores diferentes autores utilizan la teorı́a de Tessendorf modificada por Fréchot (Fréchot, 2006) para recrear escenas usadas en simuladores de entrenamiento (Yin, 2008; Sandurawan, 2011; Varela, 2015a; Anil, 2016). 1.8.. Consideraciones finales del capı́tulo.. La interacción constante que se produce entre el vehı́culo y las olas, impone un conjunto de desafı́os que deben ser resueltos para lograr una representación visual realista de la superficie del mar: modelos matemáticos precisos que definan las caracterı́sticas del entorno de simulación, visualización de fenómenos que se producen en el ambiente marino y la implementación de una interfaz en un motor gráfico que permita la interacción con el usuario. La utilización de un modelo empı́rico basados en la IFFT y los espectros de ondas permiten la representación de varios estados del mar, agiliza los cálculos y limita el entorno de simulación solo al área de interés. El motor gráfico OGRE3D permite crear una aplicación de simulación gráfica basada en modelo para el entrenamiento marino bajo licencia de código libre en C++. En este trabajo se desarrolla una aplicación con el motor gráfico OGRE3D para el catamarán de SIMPRO, que cuenta con la implementación de un método matemático basado en diferentes espectros direccionales, que permite generar y visualizar de forma realista la superficie del mar..
(29) CAPÍTULO 2 DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE En el presente capı́tulo se describe y desarrolla el modelo matemático empleado para la representación del oleaje y se describen los pasos requeridos para la implementación del modelo. El modelo matemático presentado aplica los espectros de energı́a a las ecuaciones paramétricas que proponen los modelos empı́ricos. Estos modelos a su vez, describen el movimiento de las partı́culas a partir de ecuaciones dependientes del tiempo y la posición horizontal. Los parámetros que se emplean en el modelado permiten el uso de datos estadı́sticos, derivados de la oceanografı́a fı́sica y por tanto realizar la simulación atendiendo a estos criterios. Además, se definen las variables y la nomenclatura de las relaciones oceanográficas utilizadas en las tareas de simulación. Al finalizar el capı́tulo, se describen los espectros de oleaje (Lining, 2014; Horvath, 2015) sobre los cuales se sustenta el modelo, ası́ como la implementación del procedimiento general del mismo. 2.1.. Notación. En la literatura se utiliza el término modelo de ola para denotar los modelos matemáticos diseñados para la generación, propagación, interacción, reflexión y refracción de las olas del mar. Estos modelos de oleaje permiten predecir el comportamiento de las olas, a partir del conjunto de relaciones y definiciones oceanográficas que se exponen a continuación. La Figura 2.1 ilustra las principales definiciones oceanografı́as necesarias para el modelado.. λ a H 0. 0. H. η. η d. d. -a. Figura 2–1: Representación gráfica de parámetros oceanográficas. 20.
(30) DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. 21. La superficie de elevación η es el desplazamiento desde el nivel promedio del agua en un tiempo y un punto dado. La amplitud de la ola A es la máxima elevación de la superficie que se produce por la ola. La altura de la ola H, es la distancia vertical entre la depresión y la cresta adyacente. Para una ola se tiene la relación expresada en la ecuación 2.1. H = 2A.. (2.1). La longitud de onda λ es la distancia entre dos crestas sucesivas. El perı́odo T es el intervalo de tiempo que transcurre entre el paso de dos crestas sucesivas, a través de un punto fijo. La frecuencia f se corresponde con el número de crestas que pasan en un segundo por un punto fijo dado y la velocidad de la ola o velocidad de fase c es la velocidad de las crestas o depresiones. La relación 2.2 muestra como esta velocidad puede expresarse a su vez en función de la frecuencia y el perı́odo, donde ω = 2πf es la velocidad angular o frecuencia angular y k = 2π/λ, es el número de onda. La profundidad del agua d, es la distancia vertical entre el fondo y el nivel promedio del agua. f = 1/T = c/λ = ω/kλ.. (2.2). El concepto de aguas profundas puede formalizarse como la proporción entre la profundidad del agua y la longitud de onda de la ola. Lo antes expuesto se evidencia en la expresión trascendente de la ecuación 2.3, directamente dependiente de la aceleración estándar de la gravedad g ≈ 9,807m/s2 . Como tan(x) ≈ 1 cuando x > π y tan(x) ≈ x cuando x < π/10, el agua se considerada profunda (deep water ) si d/λ > 1/2, y baja (shallow water ) si d/λ < 1/20. El análisis de esta ecuación permite concluir que cuando d/λ > 1/2 estamos en presencia de aguas profundas y cuando la proporción d/λ pertenece al intervalo (1/20, 1/2) en presencia de aguas con profundidad intermedia. La Tabla 2–1 expresa las relaciones antes enunciadas haciendo una distinción entre el término oceanográfico de aguas profundas o intermedias. λ=. 2πd gT 2 tanh( ). 2π λ. Tabla 2–1: Relaciones oceanográficas. Aguas con profundidad intermedia c2 = kg tanh(kd) λ = 2π k 2 ω = gk tanh(kd). Aguas profundas c2 = kg = ( ωg )2 2 λ = gT 2π ω 2 = gk. (2.3).
(31) DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. 2.2.. 22. Modelos paramétricos. Aunque el modelado matemático descrito a lo largo del presente capı́tulo se basa en la aplicación de los espectros de energı́a a las ecuaciones paramétricas que proponen los modelos empı́ricos, en este epı́grafe se introduce el modelo de olas de Gerstner para ilustrar conceptos oceanográficos importantes y las bases sobre las cuales se sustentan los modelos empı́ricos existentes (Fréchot, 2006; Grindstad, 2011; Tessendorf, 2001; Thon, 2002). A continuación se plantea una estructura más compleja de representación mediante IFFT. La teorı́a de olas de Gerstner (von Gerstner, 1809) describe el desplazamiento de una partı́cula en la superficie a partir del movimiento circular por el que transita la ola. El conjunto de ecuaciones 2.4-2.5 caracteriza el movimiento descrito por Gerstner en un tiempo de simulación t para una onda de amplitud A; donde k representa el módulo del vector de onda ~k, x la posición horizontal del punto en la superficie, x0 la posición horizontal anterior, ω la frecuencia y λ la longitud de onda. x = x0 − (~k/k)A sin(~k · x0 − ω(k)t),. (2.4). y = A cos(k · x0 − ω(k)t).. (2.5). Cuando se expande el modelo anterior a dos dimensiones las ecuaciones se transforman en: X x(x~0 , t) = x~0 − (~k/k)A(~k) sin(~k · x~0 + ω(k)t + ϕ), (2.6) ~k. z(x~0 , t) = z0 −. X. A(~k) cos(~k · x~0 + ω(k)t + ϕ),. (2.7). ~k. Tal que x~0 es un vector con x e y de coordenadas de un punto en la superficie, t el tiempo de simulación, z0 la altura del resto de la superficie y z(x~0 , t) = η la altura o elevación de la superficie que debe computarse. Vale señalar que, al introducir la notación vectorial, el vector de onda ~k representa la dirección de propagación de la onda, en el tiempo partiendo de la posición r = (x, y) y su magnitud se corresponde con el número de onda k = |~k| con ángulo de fase ϕ. 2.3.. Modelos estadı́sticos basados en IFFT. En la literatura oceanográfica el uso directo de la teorı́a de Gerstner ha sido minimizado debido a sus limitaciones para lograr un modelo realista del océano. Por otra parte, 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. Para lograr esta representación.
(32) DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. 23. 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 IFFT 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 (Mastin, 1987; Premože, 2000; Tessendorf, 2001; Fréchot, 2007; Lining, 2014). La ecuación 2.8 expresa la transformación del conjunto N × M de números complejos Fn,m en el conjunto de números complejos fp,q , donde p ∈ {1, . . . , N } y q ∈ {1, . . . , M }. fp,q. N X M X. mq + . = Fn,m exp i2π N M n=1 m=1 . np. (2.8). Al utilizar IFFT se hace una distinción en el uso de la notación h(~xpq , t) para diferenciar que z0 = 0, por tanto h(~xpq , t) = z(~x, t). La ecuación 2.9 muestra la transformación de la ecuación 2.7 en términos de IFFT para calcular el campo de altura. h(~xpq , t) =. n/2−1. n/2−1. X. X. ~ ~ h̃ kij , t exp i~xpq kij ,. (2.9). i=−n/2+1 j=−n/2+1. El término h(~xpq , t) representa la elevación de la superficie del mar, ~xpq denota la posición horizontal, tal que: ~xpq = (xp , yq ) = (Lp/n, Lq/n), t el tiempo y ~kij el vector del número de onda que cumple con la siguiente condición ~kij = (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 enteros, tal que −n/2 ≤ p, q, i, j < n/2 y n, m son enteros positivos relacionados de la siguiente manera n = 2m . Esta última expresión denota la dimensión de la superficie sobre la cual se realiza el cálculo de la altura, en los puntos p y q a partir del desplazamiento i, j. Las amplitudes de Fourier h̃(~kij , t) 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: h̃(~kij , t) = h̃0 (~kij ) exp(−iω(k)t) + h̃∗0 (−~kij ) exp(iω(k)t),. (2.10). Las amplitudes de Fourier dependientes del tiempo h̃(~kij , t) se basan en combinar los resultados obtenidos para las amplitudes del campo de altura h̃0 (~kij ) y h̃∗0 (−~kij ) reproducidas para el ángulo de fase ϕij según la ecuación 2.11 y su complejo conjugado, respectivamente. El término de fase ϕij para proveer un modelo aleatorio de olas (random waves) se obtiene según una distribución aleatoria uniforme entre [0 : 2π] (Ochi, 1998). Tal que, para la distribución el valor esperado E y la varianza V ar pueden obtenerse según las ecuaciones 2.13-2.12, a partir del análisis expuesto en (Kahma, 2005). 1 h̃0 (~kij ) = (cos ϕij + i sin ϕij )Aij , 2 E(h) = 0,. (2.11) (2.12).
(33) DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. V ar(h) =. 1X 2 A . 2 ij i,j. 24 (2.13). La relación de dispersión ω(κ) expresa la relación funcional entre la velocidad de propagación y la longitud de la onda, dependiendo de la gravedad, la profundidad del océano y otros parámetros fı́sicos (Horvath, 2015). La expresión analı́tica para computarla se encuentra en la Tabla 2–1. Lo antes expuesto permite introducir el espectro primitivo de la superficie como expresa la ecuación 2.14. Esta expresión relaciona el espectro S dependiendo del número de onda ~k, la amplitud de la onda coseno A y la función de Dirac δ. S(~k) =. X A2i,j i,j. 2. δ(~k − ~ki,j ).. (2.14). La relación entre V ar(h), Aij y S(~(k) se deriva de las relaciones 2.13-2.14 como sigue: Z V ar(h) = S(~k)d~k. (2.15) ~k. El desarrollo matemático agrupado en la ecuación 2.16 permite concluir que d~k = dkx dky = kdkdθ. Z ∞ Z 2π Z Z ∞ Z 2π dk S(k(ω), θ)k(ω) dωdθ, S(k, θ)kdkdθ = S(~k)d~k = (2.16) dω ~k ω=0 θ=0 k=0 θ=0 Aunque la expresión 2.15 relaciona S(~k) y Ai,j , la complejidad computacional que requiere calcular la integral impone la necesidad de obtener una aproximación mediante la suma de Riemann presentada en la ecuación 2.17; donde ∆s~k se corresponde con el área del dominio de la integral discreta ∆s~k = ∆k~x ∆k~y = (2π/L)2 . Z X S(~k)d~k ≈ S(~kij )∆s~k . (2.17) ~k. i,j. La relación entre la amplitud y el espectro de onda (ver ecuación 2.14) se calcula para la amplitud media Aij (Lining, 2014) según la aproximación de la ecuación 2.18. q Aij = 2∆s~k S(~kij ). (2.18) Las ecuaciones descritas en este epı́grafe conforman el modelo implementado, que parte de las ecuaciones de Gerstner (von Gerstner, 1809) aplicando la metodologı́a propuesta por Tessendorf (Tessendorf, 2001). Estas adecuaciones facilitan incorporar los espectros de energı́a para reproducir una ola no lineal irregular con propiedades estadı́sticamente válidas (Fréchot, 2007; Lining, 2014)..
(34) DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. 2.4.. 25. Espectros de oleaje. La fluctuación aleatoria de la superficie del mar se atribuye generalmente a la energı́a transferida por el viento al océano. Esta interacción entre el aire y el océano hace que la transformación de las olas se convierta en un fenómeno extremadamente complejo e interesante. Por consiguiente, la generación y transformación de las olas por el viento ha sido ampliamente estudiada (Phillips, 1957; Pierson, 1964). 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 mismas (Ochi, 1998). 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 θ. El análisis espectral y los métodos para predecir el comportamiento del oleaje basado en la altura y el perı́odo de las olas, es considerado uni-direccional cuando la dirección por la que transita la energı́a de la ola coincide con la dirección del viento. Esta temática fue introducida por Phillips (Phillips, 1957) mediante el concepto de un “océano completamente desarrollado”, en el cual sopla el viento sobre una región muy grande del océano, significativamente más grande que las longitudes de onda consideradas, por un tiempo suficiente para que las olas alcancen el equilibrio con el viento. En tal estado de equilibrio, no se transfiere energı́a adicional del viento a las olas, y el océano está completamente desarrollado. A partir del estudio de (Hughes, 1984), se sugiere que para el espectro de Phillips debe haber una región de olas generadas por el viento y la gravedad en aguas profundas en las que la densidad de energı́a de la onda alcanza un lı́mite superior dado por la siguiente expresión: g2 (2.19) SP (ω) = α2π 5 . ω A partir de esta teorı́a han sido desarrolladas varias funciones de espectros. El resto del epı́grafe incluye una descripción de los espectros más utilizados en investigaciones recientes (Fréchot, 2007; Horvath, 2015; Lining, 2014; Anil, 2016). 2.4.1.. Espectro Pierson-Moskowitz. En el estudio (Pierson, 1964) los autores se basan en la utilización de datos recopilados 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. El autor (Pierson, 1964) desarrolla un espectro para representar los mares plenamente desarrollados resumido en: 2 ωp 4 SP M (ω) = αg exp −β( ) 5 ω ω −3 , (2.20) α = 8,1 · 10 β = 0,74.
(35) 26. DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. La frecuencia pico ωp , es la frecuencia angular para la cual las olas poseen una cantidad promedio. La ecuación 2.21 representa su forma de cálculo para este espectro: ωp = 0,855g/U,. (2.21). tal que U es la velocidad del viento a una altura de 10m sobre la superficie del mar (Ochi, 1998). La Figura 2–2 contiene la visualización del espectro para diferentes velocidades del viento. 10 10m/s 12.5 m/s 15 m/s 17.5 m/s 20 m/s. 9 8. S(m2s). 7 6 5 4 3 2 1 0 0. 0.2. 0.4. 0.6. 0.8. 1. 1.2. w (rad/s). Figura 2–2: Espectro Pierson-Moskowitz. 2.4.2.. Espectro de JONSWAP. Según el análisis de los datos recopilados como parte de un estudio realizado en (Hasselmann, 1973) se concluyó que los océanos nunca llegan a un estado completamente desarrollado. Las interacciones no lineales entre las olas, la ruptura de olas de grandes crestas, la difusión direccional de la energı́a de las olas y turbulencia en el viento en sı́ mismo, contribuyen al desarrollo continuo de las olas. Como se describe en (Stewart, 2008), esto conllevó a introducir un factor adicional y algo artificial con relación al espectro de Pierson-Moskowitz para ajustar sus parámetros. El espectro JONSWAP es por lo tanto un espectro de Pierson-Moskowitz multiplicado por un factor de mejora γ r , el cual se formaliza de la siguiente manera: SJ (ω) =. αg 2 ω5. exp(− 54 ( ωωp )4 )γ r 2. α = 0,076( FU g )0,22 (ω − ωp )2 r = exp −( ) 2σ 2 ωp2. ,. (2.22).
(36) 27. DISEÑO DE LA APLICACIÓN PARA LA IMPLEMENTACIÓN DEL MODELO DE REPRESENTACIÓN DEL OLEAJE. 2. ωp = 22( UgF ) γ = 3,3 . n 0,07 ω ≤ ω σ = 0,09 ω > ωp p Donde F es el f etch, que es definido como la distancia en el área donde actúa el viento en el tiempo en que se producen las olas. El espectro de JONSWAP es similar al espectro de Pierson-Moskowitz, pero las olas continúan creciendo a medida que crecen la distancia y el tiempo. La Figura 2–3 contiene la visualización del espectro para diferentes valores del f etch. 14 100 km 200 km 300 km 400 km. 12. S(m 2 s). 10 8 6. 4 2 0. 0. 0.2. 0.4. 0.6. ω (rad/s). 0.8. 1. 1.2. Figura 2–3: Espectro JONSWAP. 2.4.3.. Espectro TEXEL MARSEN ARSLOE (TMA). El espectro de JONSWAP se ajusta a las observaciones de las olas en aguas profundas. En (Kitaigordskii, 1975) se analiza cómo los espectros de aguas profundas se pueden adaptar para que coincidan con las observaciones realizadas sobre el campo de altura para aguas poco profundas (Hughes, 1984). Esta adaptación se realiza desarrollando una función de frecuencia dependiente de la profundidad del océano, lo cual permite aplicar un espectro de aguas profundas. Esto se conoce como función Kitaigorodskii de atenuación de profundidad, y toma la forma: " # (κ(ω, d))−3 ∂κ(ω,d) ∂ω Φ(ωd ) = , (2.23) ∂κ(ω,∞) −3 (κ(ω, d)) ∂ω p Donde ωd es una frecuencia adimensional definida por ωd = ω d/g, tal que d representa la profundidad del agua. Una aproximación para Φ(ω, d) es: ( 1 2 ω ωd ≤ 1 2 d Φ(ω, d) ≈ (2.24) 1 − 21 (2 − ωd )2 ωd > 1.
Documento similar