ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

89
UNIVERSIDAD CENTRAL “MARTA ABREUDE LAS VILLAS FACULTAD DE MATEMÁTICA,FÍSICA Y COMPUTACIÓN CENTRO DE ESTUDIOS DE I NFORMÁTICA E N OPCIÓN AL TÍTULO DE MÁSTER EN CIENCIA DE LA COMPUTACIÓN A NÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE COMPORTAMIENTO SIMILAR EN FLUIDOS DEPENDIENTES DEL TIEMPO AUTOR:LIC.REINIER OVES GARCÍA TUTOR:DR.CARLOS PÉREZ RISQUET

Transcript of ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Page 1: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

UNIVERSIDAD CENTRAL “MARTA ABREU” DE LAS VILLAS

FACULTAD DE MATEMÁTICA, FÍSICA Y COMPUTACIÓN

CENTRO DE ESTUDIOS DE INFORMÁTICA

EN OPCIÓN AL TÍTULO DE MÁSTER EN CIENCIA DE LA COMPUTACIÓN

ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DECOMPORTAMIENTO SIMILAR EN FLUIDOS

DEPENDIENTES DEL TIEMPO

AUTOR: LIC. REINIER OVES GARCÍATUTOR: DR. CARLOS PÉREZ RISQUET

Page 2: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

RESUMEN

La visualización de fluidos se basa en el estudio de los métodos de visualización que permitenrepresentar las propiedades de los líquidos y los gases sobre una región determinada. Extraer zonasde comportamiento similar en campos vectoriales dependientes del tiempo es una tarea no trivialque requiere de herramientas sofisticadas y grandes requerimientos de hardware.

En la presente investigación se desarrolla un mecanismo que permite identificar de maneraefectiva las zonas de comportamiento similar en campos vectoriales estacionarios. Este mecanismoestá implementado sobre la base del algoritmo de agrupamiento basado en particiones kmenas ypermite determinar y explorar la evolución de una zona de comportamiento similar en el tiempo. Sedefinen dos formas de representar la evolución de las zonas de comportamiento similar. La primerase realiza a través de la visualización del elemento más representativo de la zona y la segunda ya través de un grafo que describe las bifurcaciones de las regiones en el tiempo. Los resultadosprácticos y teóricos de dicha investigación se encuentran implementados en lenguaje C++ en elpaquete de herramientas FlowVisTools, el cual ofrece la posibilidad de extensión e integración enotros sistemas de visualización.

1

Page 3: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

ABSTRACT

Fluid visualization is based on the study of visualization methods that represent the propertiesof liquids and gases on a given region. The extraction of areas of similar flow behavior in unsteadyvector fields is a non-trivial task that requires of sophisticated tools and big hardware requirements.

In this work is developed a mechanism to identify areas of similar behavior in steady vectorfields in an effective way. The implementation of this mechanism depends on both, the kmeansclustering algorithm and the visual exploration of areas with similar flow behavior in each timestep. We define two forms to represent the evolution of similar flow behavior in unsteady vectorfields. The first way shows the evolution of the most representative element in each region and thesecond way represents the entire region with a graph visualization technique where nodes representeach zone in time and edges represents the evolution process. The practical and theoretical resultsof this research are implemented in C++ language as a library and each independent program isintegrated in the toolkit FlowVisTools which offers the possibility of extension and integration inother display systems.

2

Page 4: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

ÍNDICE

INTRODUCCIÓN 5PROBLEMA DE INVESTIGACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7PREGUNTAS DE INVESTIGACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8HIPÓTESIS DE INVESTIGACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8VIABILIDAD DE LA INVESTIGACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . 9JUSTIFICACIÓN DE LA INVESTIGACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . 9ESTRUCTURA DE LA TESIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1 CARACTERÍSTICAS TOPOLÓGICAS DE LOS CAMPOS VECTORIALES 111.1 CAMPOS VECTORIALES Y ESCALARES . . . . . . . . . . . . . . . . . . . . . . . 111.2 CAMPOS VECTORIALES DEPENDIENTES DEL TIEMPO . . . . . . . . . . . . . . . 141.3 PUNTOS CRÍTICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4 CURVAS CARACTERÍSTICAS DE LOS CAMPOS VECTORIALES . . . . . . . . . . . 18

1.4.1 STREAMLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.2 PATHLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.4.3 TIMELINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.4.4 STREAKLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.5 INTEGRACIÓN DE CURVAS CARACTERÍSTICAS . . . . . . . . . . . . . . . . . . . 221.5.1 MÉTODO DE RUNGE-KUTTA . . . . . . . . . . . . . . . . . . . . . . . . 231.5.2 CÁLCULO DE STREAMLINES . . . . . . . . . . . . . . . . . . . . . . . . 251.5.3 CÁLCULO DE PATHLINES . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.6 VISUALIZACIÓN DE CAMPOS VECTORIALES . . . . . . . . . . . . . . . . . . . . 261.6.1 VISUALIZACIÓN DIRECTA DE CAMPOS VECTORIALES . . . . . . . . . . 271.6.2 VISUALIZACIÓN BASADA EN INTEGRACIÓN . . . . . . . . . . . . . . . . 281.6.3 VISUALIZACIÓN DE RASGOS TOPOLÓGICOS . . . . . . . . . . . . . . . . 29

1.7 CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 EXTRACCIÓN DE ZONAS DE COMPORTAMIENTO SIMILAR EN CAMPOSVECTORIALES 322.1 ZONAS DE COMPORTAMIENTO SIMILAR EN CAMPOS VECTORIALES . . . . . . . 352.2 FUNCIONES DE DISTANCIA PARA EL AGRUPAMIENTO EN CAMPOS VECTORIALES 36

2.2.1 DISTANCIA ENTRE LOS PUNTOS MÁS CERCANOS (DC) . . . . . . . . . . 372.2.2 DISTANCIA MEDIA (DM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.2.3 DISTANCIA DE HAUSDORFF (DH ) . . . . . . . . . . . . . . . . . . . . . . 382.2.4 DISTANCIA CON DISTRIBUCIÓN PROBABILÍSTICA . . . . . . . . . . . . . 382.2.5 DISTANCIA ENTRE RASGOS . . . . . . . . . . . . . . . . . . . . . . . . . 39

3

Page 5: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

2.3 AGRUPAMIENTO EN CAMPOS VECTORIALES . . . . . . . . . . . . . . . . . . . . 392.3.1 AGRUPAMIENTO EN CAMPOS VECTORIALES ESTACIONARIOS . . . . . . 402.3.2 AGRUPAMIENTO EN CAMPOS VECTORIALES DEPENDIENTES DEL TIEMPO 42

2.3.2.1 VISUALIZACIÓN DE LA EVOLUCIÓN DEL ELEMENTO MÁS

REPRESENTATIVO DE UN GRUPO . . . . . . . . . . . . . . . . . 452.3.2.2 VISUALIZACIÓN DEL GRAFO DE EVOLUCIÓN DE LAS ZONAS

DE COMPORTAMIENTO SIMILAR EN EL FLUIDO . . . . . . . . . 492.4 HERRAMIENTAS PARA LA EXPLORACIÓN VISUAL DE CAMPOS VECTORIALES . . 54

2.4.1 BIBLIOTECAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.4.2 APLICACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.5 CONCLUSIONES PARCIALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3 FLOWVISTOOLS: HERRAMIENTAS PARA LA EXPLORACIÓN DE CAMPOSVECTORIALES 593.1 DESCRIPCIÓN DE LAS HERRAMIENTAS . . . . . . . . . . . . . . . . . . . . . . . 60

3.1.1 streamline_viewer: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.1.2 vtk_streamline_viewer: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.1.3 steady_flow_clustering: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.1.4 tracking_evolution: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.1.5 vtk_tracking_evolution: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.1.6 tracking_evolution_graph: . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.2 DESCRIPCIÓN DE LOS DATOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.2.1 FORMATO DE DATOS AMIRAMESH . . . . . . . . . . . . . . . . . . . . . 703.2.2 FORMATO DE DATOS PRODUCIDOS POR LAS HERRAMIENTAS . . . . . . 71

3.3 ANÁLISIS Y COMPARACIÓN DE LAS

IMPLEMENTACIONES REALIZADAS EN SERIE Y

PARALELO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.4 ANÁLISIS DE LOS RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.5 CONCLUSIONES PARCIALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

CONCLUSIONES 78

RECOMENDACIONES 80

REFERENCIAS BIBLIOGRÁFICAS 81

4

Page 6: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

INTRODUCCIÓN

La visualización es la capacidad creativa que existe en el comportamiento social de laspersonas para expresar fenómenos y conocimientos a través de imágenes descriptivas. En elárea de la computación gráfica y el diseño ingenieril la visualización tiene un significado másespecífico: mostrar el comportamiento y las particularidades de grandes volúmenes de información,descubriendo así las relaciones que existen entre los datos y no resaltan de manera fácil a la vistade los humanos (Gallagher/Press, 1994).

Una de las principales áreas de investigación dentro de la Computación Gráfica (CG) es laVisualización Científica (VC). La VC tiene un propósito bien definido: presentar los resultados delanálisis de datos, ya sean obtenidos a partir de simulaciones o a través de mediciones reales. Demanera significativa permite identificar y analizar características intrínsecas en los datos, así comodetectar patrones, tendencias y anomalías presentes en los mismos (Hansen/Johnson, 2005).

La ciencia moderna tiene una tendencia de integración multidisciplinaria (Oves Garcia R et al.,2011b; Oves Garcia R et al., 2011a), ya que los problemas reales de la vida, se vuelven cada díamás difíciles de entender por un solo especialista. La mayoría de los retos de la ciencia actualinvolucran especialistas con conocimientos en las más diversas áreas de investigación (bases de

datos, visualización científica, modelación, simulación, estadísticas, etc.).Las características inherentes de muchos problemas reales ha provocado la creación de grupos

científicos alrededor del mundo con estas particularidades, donde los especialistas en el área de laVC desempeñan un papel fundamental.

La Visualización Científica permite alcanzar diferentes metas que se encuentran relacionadasdirectamente con la naturaleza del objetivo y el conocimiento previo que se tenga de los datos.La Visualización Científica se caracteriza por el tipo de datos con que se operan (Risquet/Ortega,2005) y puede dividirse en tres grandes grupos (Abello/Korn, 2002; Theisel, 2001)

Análisis exploratorio

Análisis confirmativo

Presentación de información

El análisis exploratorio: se tiene un conjunto de datos sin una hipótesis específica. Estos sesometen a un proceso de búsqueda interactiva de información que va a arrojar como resultado una

5

Page 7: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

visualización que soporte una hipótesis sobre el conjunto de datos. En (Oves García R/VázquezRodríguez R/Pérez Risquet C, 2009b; Oves García R/Vázquez Rodríguez R/Pérez Risquet C,2009a; Oves García R et al., 2011; Oves García R/Vázquez Rodríguez R/Pérez Risquet C, 2012) seutiliza la visualización científica como herramienta de apoyo en el proceso de toma de decisionesdesde el punto de vista meteorológico.

El análisis confirmativo: se tiene un conjunto de datos sobre los que se plantea una hipótesis.Se realiza un procesamiento de los mismos que genera una visualización mediante la cual se puedavalidar o refutar la hipótesis planteada.

La presentación de información: parte de hechos que son fijos a priori y que se deseanenfatizar y mostrar con extrema calidad.

El análisis visual de campos vectoriales se ha convertido en una de las principales áreas deinvestigación dentro de la computación gráfica. La visualización de fluidos se basa en el estudiode los métodos de visualización que permiten representar las propiedades de los líquidos y losgases sobre una región determinada. La dinámica computacional de fluidos CFD (por las siglas

en inglés de Computational Fluids Dynamics) ha extendido la capacidad creativa de los científicosa estudiar fluidos creados por simulaciones. La obtención de datos de laboratorio (a través de

simulaciones) permite extender los problemas a dominios con condiciones extremas (ejemplo:

condiciones de fronteras irregulares). Los datos provenientes de simulaciones se muestran sobredominios discretos en 2D, 3D y 4D, esta última es un caso especial de campos vectoriales queinvolucran la variable temporal en 3D.

Existe un numeroso grupo de áreas de investigación donde los datos se muestran sobredominios vectoriales, y donde la visualización de fluidos juega un papel fundamental en el análisisy comprensión de la información. Las principales áreas de aplicación de la visualización defluidos son la industria aeronáutica y la automovilística. En estas industrias se crean modeloscomputacionales que describen la geometría de los prototipos y utilizando herramientas CFD1,modelan el comportamiento del campo vectorial que describe el aire alrededor de la geometría.Las técnicas de visualización de fluidos existentes permiten extraer zonas de interés para losespecialistas, las cuales ayudan a refinar los prototipos y lanzar un producto con el menor númerode fallos posibles.

El estudio del comportamiento del flujo sanguíneo y el transporte de sustancias a través dela sangre es un área de investigación donde las técnicas de análisis visual de fluidos jueganun papel fundamental. Las aneurismas cerebrales son un caso de estudio incesante dentro dela medicina. Debido a la urgencia médica que requieren los pacientes comprometidos por talpatología, se han integrado comunidades de especialistas de las más diversas áreas de investigaciónpara comprender el fenómeno. La visualización de fluidos se utiliza desde hace muchos años comouna herramienta importante en el proceso de comprensión de la circulación sanguínea dentrode una región específica (Budwig et al., 1993; Nakatani et al., 1991; Niimi/Kawano/Sugiyama,

1Herramientas propias de la dinámica computacional de fluidos

6

Page 8: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

1983; Steiger et al., 1987; Steinman et al., 2003).En la meteorología se aplican las técnicas de visualización de fluidos como herramientas de

apoyo en el estudio del comportamiento de los huracanes. La visualización de las líneas de fluidodel huracán codificadas con los valores de magnitud ayudan a comprender y estimar de maneraeficiente las trayectorias del mismo.

El transporte de contaminantes es también un área de investigación activa donde se aplicaneficientemente los métodos del análisis visual de campos vectoriales para estimar apropiadamentelas zonas de mayor concentración de un contaminante dado, ya sea transportado por un mediolíquido o gaseoso (Snyder, 1985).

Como se puede apreciar, existen diversas áreas de aplicación para la visualización y análisis decampos vectoriales. Los campos vectoriales dependientes del tiempo describen con mayor exactitudlos problemas reales de la vida, y por tanto despiertan mayor interés en los investigadores del área.En la actualidad existen numerosas técnicas para el análisis visual de datos de fluidos, que permitenla exploración directa e indirecta de los datos. La extracción de zonas de comportamiento similaren fluidos dependientes del tiempo, es una de las temáticas más interesantes, y sin embargo menosestudiada, dentro del análisis visual de campos vectoriales, por lo que constituye el problema aabordar en esta investigación.

PROBLEMA DE INVESTIGACIÓN

Hasta el momento existe una gran variedad de técnicas que detectan estructuras coherentesen fluidos estacionarios2(Rossl/Theisel, 2012), pero estas técnicas dejan de ser efectivas cuandolos datos dependen del tiempo. No se conocen métodos o algoritmos eficaces para representary analizar la evolución de determinadas zonas de interés de un campo vectorial dependiente deltiempo (2D o 3D).

Para contribuir a la solución del problema anterior se definen para este trabajo los siguientesobjetivos.

OBJETIVO GENERAL

Desarrollar nuevos métodos y herramientas para analizar visualmente la evolución de laszonas de comportamiento similar en fluidos dependientes del tiempo.

OBJETIVOS ESPECÍFICOS

Realizar un estudio sistemático de las principales propiedades de los campos vectoriales paradeterminar cuáles de ellas resultan apropiadas para la caracterización y extracción de zonas

2Campos vectoriales que no dependen del tiempo. Análogamente, los campos vectoriales que dependen del tiempose denominan no estacionarios

7

Page 9: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

de comportamiento similar en fluidos dependientes del tiempo.

Definir e implementar medidas apropiadas para la comparación de aquellas propiedades delos campos vectoriales que resultan interesantes para identificar las zonas de comportamientosimilar.

Seleccionar e implementar un algoritmo de agrupamiento apropiado para la segmentación defluidos en zonas de comportamiento similar.

Determinar la evolución de las zonas de comportamiento similar en fluidos dependientes deltiempo.

Definir nuevas metáforas visuales para el estudio de fluidos dependientes del tiempomediante el análisis visual de la evolución de las zonas de comportamiento similar.

PREGUNTAS DE INVESTIGACIÓN

¿Cuál algoritmo de integración numérica se adecúa mejor para calcular las curvas tangentesde los campos vectoriales dependientes del tiempo?

¿Qué medida de distancia es la más adecuada para comparar líneas de fluido teniendo encuenta la geometría y la posición geográfica de las mismas?

¿Cuál algoritmo de agrupamiento es el adecuado para aplicar sobre datos de fluidos?

¿Cómo definir y visualizar la evolución de las zonas de comportamiento similar en fluidosdependientes del tiempo?

HIPÓTESIS DE INVESTIGACIÓN

El agrupamiento es una buena técnica para encontrar zonas de comportamiento similar encampos vectoriales

La visualización de las curvas tangentes es adecuadas para representar zonas decomportamiento similar obtenidas por algoritmos de agrupamiento, a partir de funcionesde distancias definidas sobre los esquemas de integración numérica que se aplican sobre loscampos vectoriales.

La representación visual de los elementos más representativos de las zonas decomportamiento similar (centroides) obtenidos en cada instante de tiempo es adecuada parael estudio de la evolución de las zonas de comportamiento similar en fluidos no estacionarios.

Visualizar el grafo que describe la evolución de las zonas de comportamiento similar enfluidos dependientes del tiempo facilita la comprensión de los mismo por los especialistas.

8

Page 10: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

VIABILIDAD DE LA INVESTIGACIÓN

En el grupo de investigación de Computación Gráfica del Centro de Estudios de Informática dela Universidad Central “Marta Abreu” de Las Villas, se cuenta con el personal de consulta necesariopara la realización de este trabajo. Existe la bibliografía adecuada y actual para comprenderlas técnicas de visualización y métodos numéricos necesarios en el proceso de búsqueda desolución del problema planteado, así como las capacidades de hardware gráfico para visualizarlos resultados.

En dicha universidad se cuenta también con un centro de datos que posee altas prestaciones.Este centro de datos está disponible para ejecutar los algoritmos que efectúan el procesamientoprevio3 de los datos y posee las tecnologías adecuadas para la protección de la información.

JUSTIFICACIÓN DE LA INVESTIGACIÓN

El desarrollo creciente de las tecnologías computacionales ha hecho que las simulaciones delaboratorio aproximen satisfactoriamente a las soluciones del mundo real. Dichas simulacionesgeneran grandes volúmenes de información, la cual se utiliza para conocer el desempeño normal oanormal de un proceso determinado. Resultaría beneficioso para el proceso de toma de decisionesque estos datos fueran recolectados por grupos de semejanza, donde la similitud entre los elementossea proporcional a la distancia4 entre ellos.

La recolección de datos, en la mayoría de los problemas reales involucran el tiempo como unavariable decisiva en el proceso de análisis. El agrupamiento de este tipo de datos se ha convertidoen un reto constante dentro de las diferentes áreas de investigación ya que brinda la posibilidad deadquirir una mejor comprensión de las características comunes de los conjuntos de datos y permiteobservar el comportamiento general de los datos respecto al tiempo.

Por otra parte, sería un paso más a dar en lo que concierne a los esfuerzos realizados en elárea de campos vectoriales, ya que hasta el momento se ha trabajado en el análisis, visualización yagrupamiento de campos vectoriales estacionarios (McKenzie/Lombeyda/Desbrun, 2005), y se handejado las directrices para extender esta noción hacia 4D (3D + tiempo), es decir, los campos noestacionarios.

ESTRUCTURA DE LA TESIS

El presente trabajo está estructurado en tres capítulos. El Capítulo 1 describe el conjunto dedefiniciones matemáticas necesarias para el entendimiento de la teoría relacionada con la tesis. Semuestran definiciones como la de campo vectorial, campo escalar, curvas tangentes, puntos críticos,

3Se refiere a todo el procesamiento que se realiza sobre los datos antes de visualizar los resultados4Métrica que se utiliza para comparar dos elementos de un conjunto de datos.

9

Page 11: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

etc. Así como los algoritmos más utilizados en la extracción de curvas tangentes. También se realizael estado del arte de la visualización de campos vectoriales.

El Capítulo 2 resume el estado del arte del agrupamiento sobre campos vectoriales, así comolas principales funciones de distancia empleadas para comparar rasgos del fluido. También en estecapítulo se mencionan las principales herramientas basadas en software libre y software propietarioutilizadas en la exploración visual de campos vectoriales y se presenta el mecanismo propuesto porel autor para extraer y representar de manera visual la la evolución de las zonas de comportamientosimilar en campos vectoriales dependientes del tiempo.

En el Capítulo 3 se presenta un análisis de los resultados obtenidos, así como las característicasintrínsecas de la implementación de las herramientas. Por otra parte, se establecen comparacionessobre la implementación en serie y en paralelo del algoritmo que calcula la matriz de distanciaempleada en el agrupamiento. En este capítulo también se explica como trabajar con lasherramientas y los requerimientos necesarios para realizar una adecuada extensión de las mismas.

10

Page 12: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Capítulo 1

CARACTERÍSTICAS TOPOLÓGICAS DE LOS

CAMPOS VECTORIALES

Las funciones, ampliamente empleadas en la ingeniería para modelar matemáticamente ycaracterizar magnitudes físicas, pueden tener un rango unidimensional o multidimensional. Elprimer tipo de funciones (rango unidimensional) se define como campo escalar, y esta secorresponde a una magnitud física, que requiere sólo de un número para su caracterización. Uncampo escalar, por tanto, es una función escalar, cuyo valor depende del punto que se estudie. Unejemplo de este tipo de funciones puede ser la distribución de temperaturas dentro de un cuerpo, lapresión ejercida sobre un cuerpo por un fluido, o un potencial eléctrico.

Los campos vectoriales se corresponden con el segundo tipo de funciones (rango

multidimensional), donde una magnitud física requiere de un vector para su descripción, comopuede ser, por ejemplo, el flujo de un fluido o un campo de fuerzas gravitacionales o eléctricas.

En el mundo real los campos vectoriales en tercera dimensión (3D) suelen aparecer con mayorfrecuencia que los bidimensionales (2D). El presente trabajo está enfocado fundamentalmente a lavisualización de campos vectoriales 3D (Oves G. R, 2013).

1.1. CAMPOS VECTORIALES Y ESCALARES

Un campo vectorial es una función inyectiva (Godino et al., 2006), que asocia a cada elementodel dominio un valor vectorial. Análogamente un campo escalar es una función inyectiva que asociaa cada elemento del dominio un valor escalar.

De forma general, un campo vectorial se define como una función V : D ⊆ Rn → Rm, queasigna a cada punto x ∈ D un vector Fx=( f1 (x) , f2 (x) , ..., fm (x)) ∈ Rm, donde fi (x) son funcionesescalares con i = 1..m. Haciendo uso de la definición anterior se define un campo vectorial 2D y3D de la siguiente manera (Weinkauf, 2008; Shi et al., 2008):

11

Page 13: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

a) b)

Figura 1.1: Campos vectoriales. a) V =

(sin(π ∗ x)sin(π ∗ y)

). b) V =

sin(π ∗ x)sin(π ∗ y)sin(π ∗ z)

Campo vectorial 2D (ver figura 1.1.a):

V : D ∈ R2→ R2,

X = (x,y)→V (X) =V (x,y) =

(u(x,y)

v(x,y)

)(1.1)

Campo vectorial 3D (ver figura 1.1.b):

V : D ∈ R3→ R3,

X = (x,y,z)→V (X) =V (x,y,z) =

u(x,y,z)

v(x,y,z)

w(x,y,z)

(1.2)

De manera similar se define un campo escalar como una función S : D ∈ Rn→ R, que asigna acada punto x ∈D un valor escalar Fx=S (x) ∈ R. Los casos más relevantes en la ciencia se presentanen 2 y 3 dimensiones (Sabella, 1988):

12

Page 14: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

a) b) c)

Figura 1.3: Campo escalar en 3D. a) representa las isosuperfices de valor 1, 2, 3 y 4. b) visualizael campo escalar en todos sus puntos a través de una técnica de visualización de volumen. c)representa una combinación de campos escalares 2D y 3D en la misma visualización.

a) b)

Figura 1.2: Representación de campos escalares bidimensionales. a) representa el campo escalarasociado a un plano de corte del campo escalar 3D descrito en la figura 1.3.c) . b) representa elcampo escalar asociado a una distribución aleatoria.

Campo escalar 2D (ver figura 1.2):

S : D⊆ R2→ R. Ejemplo:

X = (x,y)→ S (X) =−y+ x (1.3)

Campo escalar 3D (ver figura 1.3):

S : D⊆ R3→ R. Ejemplo:

X = (x,y,z)→ S (X) =sin(x∗ y∗ z)(x∗ y∗ z)

(1.4)

13

Page 15: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Los campos escalares no constituyen el principal objeto de estudio de esta investigación,pero son empleados para el estudio de algunas propiedades f ısico−matematicas de los camposvectoriales.

1.2. CAMPOS VECTORIALES DEPENDIENTES DEL TIEMPO

Cuando un campo vectorial es medido en varios intervalos de tiempo, se dice que es un campovectorial dependiente del tiempo (en inglés: unsteady vector field). La inclusión de este nuevoparámetro dificulta la exploración y el análisis del mismo, debido a las limitaciones del espaciovisual reconocible por los humanos. Para el caso de campos vectoriales dependientes del tiempo entres dimensiones, agregar el parámetro tiempo, conlleva a la formación de un campo vectorial 4D,el cual es imposible de visualizar directamente.

En la actualidad existen diversas técnicas que posibilitan el análisis de este tipo de datos,las cuales serán abordadas con posterioridad. Hasta el momento solo se han tratado los camposestacionarios1 con imágenes2 vectoriales y escalares. Debido a que el objeto de estudio del presentetrabajo está enfocado en la visualización de las zonas de comportamiento similar en fluidosdependientes del tiempo, es necesario establecer la definición matemática de los campos vectorialesdependientes del tiempo.Un campo vectorial dependiente del tiempo se define como una función inyectiva que varíaen el tiempo y su formulación matemática se describe de forma general como la función V :[D⊆ Rn]x [T ⊆ R]→ Rm, donde a cada elemento [x, t] ∈ [DxT ] se le asigna un vector:

F[i,t] (x)=(

f[1,t] (x) , f[2,t] (x) , ..., f[n,t] (x))

(1.5)

donde i = [1..n] y t = [t1..tn]. A partir de esta definición se evidencia que si proyectamos un campovectorial dependiente del tiempo sobre un instante de tiempo determinado, se obtiene un campovectorial estacionario. Esta afirmación (Helman/Hesselink, 1991a) constituye el punto de partidade nuestra investigación.

Campo vectorial dependiente del tiempo 2D (ver figura 1.4):

V (x,y, t) =

u(x,y, t)

v(x,y, t)

a(x,y, t)

(1.6)

1Campos que no dependen del tiempo2La palabra imagen en este caso se refiere a la imagen de la función y no al gráfico que describe la misma

14

Page 16: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 1.4: Campo vectorial dependiente del tiempo en dos dimensiones

V describe un campo vectorial estacionario 3D y la dimensión auxiliar a(x,y, t) ≡ 1, puedeinterpretarse como el parámetro tiempo, donde ax=ay = at ≡ 0. La proyección de V en el instantede tiempo ti produce un campo vectorial estacionario 2D, el cual se define de la siguiente manera:

V (x,y, ti) =

(u(x,y, ti)

v(x,y, ti)

)(1.7)

Campo vectorial dependiente del tiempo 3D:

V (x,y,z, t) =

u(x,y,z, t)

v(x,y,z, t)

w(x,y,z, t)

a(x,y,z, t)

(1.8)

V describe un campo vectorial estacionario 4D y la dimensión auxiliar a(x,y,z, t) ≡ 1, puedeinterpretarse como el parámetro tiempo, donde ax=ay = az = at ≡ 0. La proyección de V en elinstante de tiempo ti produce un campo vectorial estacionario en 3D, el cual se define de la siguientemanera:

V (x,y,z, ti) =

u(x,y,z, ti)

v(x,y,z, ti)

w(x,y,z, ti)

(1.9)

La principal limitación de la Visualización Científica es el espacio de dimensiones. Cuando ladimensión de los datos excede de tres, aumenta la complejidad de los problemas. En situaciones

15

Page 17: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

reales de la vida, los problemas asociados a la hidrodinámica, aerodinámica, medicina, química,etc. involucran la variable tiempo en los datos, como parámetro decisivo de su descripción. Talcaracterística permite la extracción del comportamiento de los datos en el tiempo, aunque sedificulta en gran medida su representación visual.

Los campos vectoriales dependientes del tiempo no están exentos de los problemas de ladimensionalidad de los datos. Las descripciones propuestas en la ecuación (1.6) no representanun problema para la visualización cuando D ⊆ R2. Si D ⊆ R3, la dimensión deV excede de tresy por lo tanto existe la necesidad de crear métodos que posibiliten la extracción adecuada delcomportamiento y características que se quieren visualizar.

1.3. PUNTOS CRÍTICOS

Los puntos críticos son localizaciones del campo vectorial se desvanece (el campo vectorial

no es diferenciable en ese punto o la derivada es 0). En la mayoría de los casos los datos delcampo vectorial se encuentran expresados sobre dominios discretos y por tanto encontrar los puntoscríticos se traduce a encontrar los puntos donde el vector posee norma 0. En (Berrios, 2012)se encuentran los algoritmos necesarios para calcular los puntos críticos de un campo vectorialexplotando la capacidad de cómputo de la GPU (por las siglas en inglés de Graphics Processing

Unit).Cuando se estudian las características topológicas de los fluidos no estacionarios, en los cuales

varía el parámetro tiempo, es imprescindible abordar el concepto de punto crítico (singularidades),ya que la posición que estos ocupan con el cambio en el tiempo, nos ayuda a comprender elcomportamiento topológico del fluido. Las streamlines (ver epígrafe 1.4.1) que conectan dospuntos críticos se denominan separatrices y requieren de especial atención, ya que dividen elfluido en zonas de comportamiento similar (Helman/Hesselink, 1991a). En lo que concierne asingularidades de primer orden, existen 5 tipos comunes (ver figura 1.5). Los nodos y focos deatracción constituyen depresiones, mientras que los nodos y focos de repulsión se les llamanorígenes.

Figura 1.5: Singularidades de primer orden

16

Page 18: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Otro aspecto importante a tener en cuenta es el llamado índice de los puntos críticos, definidocomo el número de rotaciones del campo que hay al rodear el punto crítico a lo largo de una curvacerrada, en sentido contrario a las manecillas del reloj.

La estructura cualitativa de la topología puede variar de un estado estable a otro. Tales cambiosse les llaman bifurcaciones (Tricoche/Scheuermann/Hagen, 2001). Podemos distinguir dos clasesde tales bifurcaciones: por un lado están las que solo afectan un solo punto o una órbita cerrada y deeste modo el correspondiente nuevo estado estable se encuentra en una vecindad. A este tipo se lesllama bifurcaciones locales. Por otro lado, las bifurcaciones que cambian la estructura global delfluido y no pueden ser deducidas a partir de información local se les llaman bifurcaciones globales.

Bifurcaciones locales. En realidad existen dos tipos principales de bifurcaciones locales queafectan la naturaleza de los puntos de un fluido dependiente del tiempo. La primera se llamabifurcación Hopf y la segunda se llama bifurcación plegada (o aniquilación pareada).

En las bifurcaciones de Hopf (Golubitsky/Schaeffer/Stewart, 1988; Marsden/McCracken, 1976)se tiene un foco de atracción o una depresión. Cuando este se debilita, el número de streamlinesde tipo rotatorias alrededor de este punto crítico aumenta. Matemáticamente esto corresponde aun aumento de la parte negativa real de los valores propios complejos conjugados de la matrizJacobiana asociada a ese punto crítico. Cuando la parte real es cero, tenemos un punto central, lacual es una estructura inestable, es decir, ha ocurrido una bifurcación. Si la parte real aumenta aúnmás, aparece una nueva estructura estable, la cual consiste en una órbita cerrada, que suele alejarsedel punto crítico. Este último se ha transformado en un foco de repulsión, es decir, un origen. Así,una depresión se ha transformado en un origen. Invirtiendo la dirección del tiempo, obtenemos elproceso inverso (Tricoche/Scheuermann/Hagen, 2001) La figura (1.6) muestra esta evolución.

Figura 1.6: Bifurcación de Hopf

Las bifurcaciones plegadas (aniquilación pareada) ocurren cuando tenemos un punto deensilladura y una depresión que están conectados por una separatriz, y entonces se debilita larelación de atracción/repulsión entre ambas singularidades, y ambos se acercan cada vez más hastaque se encuentran. Con el transcurso del tiempo, esta estructura inestable desaparece y entonces lanueva estructura estable ya no tiene puntos críticos. Al invertir la dirección del tiempo, obtenemosuna creación pareada. La figura 1.7 muestra este proceso.

17

Page 19: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 1.7: Bifurcación Plegada

Bifurcaciones globales. Al contrario de las bifurcaciones locales anteriormente mencionadas,las bifurcaciones globales no ocurren en vecindades pequeñas de los puntos críticos, pero acarreancambios significativos en la estructura del fluido. Entre este tipo de bifurcaciones se encuentranlas conexiones de ensilladura, las cuales aparecen cuando dos separatrices que tienen su origen enpuntos de ensilladura, colapsan, es decir, la separatriz de una ensilladura termina en la otra. Lafigura (1.8) ilustra este ejemplo, en instantes de tiempo antes, durante y después del colapso.

Figura 1.8: Conexión de ensilladura

1.4. CURVAS CARACTERÍSTICAS DE LOS CAMPOS

VECTORIALES

Una curva L ∈ Rn se denomina curva tangente del campo vectorial V : D ⊆ Rn → Rn si paracada punto x ∈ L, L

′(x)coincide con V (x) (Theisel, 1995; Weinkauf/Theisel, 2002). En general, las

curvas tangentes de un campo vectorial son descritas de manera implícita como las soluciones delsistema de ecuaciones diferenciales d

dxL(x) = V (L(x)) con condiciones iniciales, lo que garantizaque por cada punto x ∈V pasa una y solo una curva tangente si y solo si x /∈C, donde C ⊆V es elconjunto de todos los puntos críticos de V y para todo x ∈C, ‖V (x) ‖ =0 (Theisel, 1995).

18

Page 20: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

En el caso específico de los campos vectoriales 3D las curvas tangentes responden a lassoluciones del sistema:

dxdt =u(x,y,z)dydt =v(x,y,z)dzdt =w(x,y,z)

(1.10)

En la ecuación 1.10 las funciones u,v,w representan las funciones escalares que definen elcampo vectorial. Las curvas tangentes de V no se intersectan entre sí, y por lo tanto brindan lainformación direccional del campo vectorial.

En los campos vectoriales, dependientes del tiempo o no, existen cuatro tipos de curvastangentes. Estas son: streamlines, pathlines, timelines y streaklines. Cuando el campo vectoriales estacionario, los cuatro tipos de curvas coinciden, pero en general son curvas diferentes paracampos vectoriales dependientes del tiempo (Theisel, 2001).

a)Streamline ls b) Pathline l

c) Streakline ls d) Timeline ls

Figura 1.9: Curvas tangentes de V

1.4.1. STREAMLINES

Una streamline o línea de corriente de un campo vectorial V es una solución del sistemasde ecuaciones diferenciales planteado en la ecuación 1.10. Esta familia de curvas, es única enel instante de tiempo ti y completamente diferente a las curvas del instante de tiempo ti+1. Lasstreamlines de un campo vectorial se definen matemáticamente como las soluciones del sistema deecuaciones diferenciales con condición inicial:

19

Page 21: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

ddxL(x)=V (x, t0) donde L

(x(t0)

)= L(x0) (1.11)

Es importante destacar que L no está relacionada con el tiempo t del cual depende el campovectorial V . De esta forma el tiempot pasa a ser un parámetro del sistema (Theisel et al., 2005).Convertir t en un parámetro, no afecta la solución del sistema desde el punto de vista matemático,debido a que la variable L carece de interpretación física. En otras palabras, seguir una streamline

no es más que “congelar” la variable de tiempo t e integrar en función de un tiempo virtual. Verfigura 1.9.a.

1.4.2. PATHLINES

Una pathline (von Funck/Theisel/Seidel, 2006; Theisel et al., 2005) se obtiene colocando unapartícula sin masa en un punto x ∈D y liberándola a lo largo de V. De tal manera se pueden ver laspathlines de V como las proyecciones de las curvas tangentes de V en el plano t = ti, i = 0..n. Paracada instante de tiempo existe una y solo una pathline que atraviesa la misma localización espacial(excepto en los puntos críticos del sistema).

Las pathlines de V se obtienen integrando:

ddt x(t) =V (x(t) , t) donde x(t0) = 0 (1.12)

El sistema (1.12) pude reescribirse como un sistema a expensas del incremento en 1 de ladimensión, cuando se incluye el tiempo como una variable explícita más:

ddt

(x

t

)=

(V (x(t) , t)

1

)donde

(x

t

)(0) =

(x0

t0

)(1.13)

La figura (1.9.b) muestra la representación gráfica de una pathline donde la curva lp es laproyección de l en el plano t = t0.

En el sistema (1.13) las pathlines del campo vectorial V en el espacio ordinario ahora semuestran como curvas tangentes del espacio vectorial

p(x, t) =

(V (x(t) , t)

1

)(1.14)

en el dominio espacio− temporal. De este modo se pueden tratar las streamlines del campovectorial como:

p(x, t) =

(V (x(t) , t)

0

)(1.15)

20

Page 22: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

1.4.3. TIMELINES

Una timeline (Lane, 1996; Brill et al., 1994) es una colección de todas las partículas dispuestasen línea recta en un instante de tiempo fijo, a las cuales se les sigue el rastro a largo de un campovectorial dependiente del tiempo. Una manera práctica de observar esta tipo de curva, consiste enlanzar un cable elástico en un río, y de esta manera se puede ver como el cable es transportadoy deformado por el flujo del río. Desde el punto de vista geométrico, una línea de tiempo puedeobtenerse al aplicar una integración de superficie del camino en el fluido, comenzando en unalínea recta con t = constante e intersectando esta superficie con el hiperplano perpendicular al ejedel tiempo t. Para comprender mejor el planteamiento anterior, consideremos la figura (1.9.d) ysupongamos que disponemos de una partícula en el punto (x0,y0, t0).

El camino de la partícula es la curva tangente l1 de. La curva l1 podría pasar por la lascoordenadas espaciales (x1,y1) en el instante de tiempo t1 (t0 < t1). Considerando dos partículasmás dispuestas en el instante de tiempo t = t0:(x0–dx,y0–dy, t0), (x0+dx,y0+dy, t0). Supongamosque estas partículas siguen las curvas tangentes l4 y l5 de V . Supongamos también que l4 pasa porla localización espacial (x4,y4) en el instante de tiempo t = t1, y que l5 pasa por la localización(x5,y5) en el mismo instante de tiempo t = t1. Entonces (x1,y1, t1), (x4,y4, t1) y (x5,y5, t1) yacen enuna timeline lt a través de (x1,y1, t1). La elección de una timeline particular a través de (x1,y1, t1)

depende de dos parámetros: la elección de t0 y la dirección de la línea recta en el plano t = t0.

1.4.4. STREAKLINES

Una streakline (Weinkauf/Theisel, 2010b)es la conexión de todas las partículas dispuestas endiferentes instantes de tiempo, pero exactamente en la misma ubicación en el espacio (Theisel,2001). En la figura (1.9.c) se ilustra el comportamiento de una curva de esta familia (con el

objetivo de facilitar la comprensión se emplean campos vectoriales 2D dependientes del tiempo).

Supongamos que una partícula se coloca en el punto (x0,y0,z0), el camino que recorre la partículaes la curva tangente l1 del campo vectorial V . La curva l1 podría pasar por la ubicación (x1,y1)

pero en un instante de tiempo t1(t0 < t1). Considerando dos partículas más dispuestas en (x0,y0)

en una vecindad anterior y posterior al instante de tiempo t0. Es decir, disponemos las partículasen (x0,y0, t0–dt) y (x0,y0, t0 + dt). Ellas siguen las curvas tangentes l2 y l3 de V . Suponiendo quel2 pasa por las coordenadas espaciales (x2,y2) en el instante de tiempo t = t1, y que l3 pasa por lascoordenadas espaciales (x3,y3) en el instante de tiempo t = t1. Entonces, (x1,y1, t1), (x2,y2, t1) y(x3,y3, t1) yacen en una streakline ls a través de (x1,y1, t1).

21

Page 23: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

1.5. INTEGRACIÓN DE CURVAS CARACTERÍSTICAS

Los problemas reales relacionados con el análisis visual de datos de fluidos, se tornan difícilesde describir matemáticamente a medida que aumenta su complejidad. En un gran número decasos, los datos provienen de mediciones de campo y requieren de un procesamiento inicial paraorganizarlos de manera correcta, en un dominio de definición entendible por los sistemas devisualización. Los datos obtenidos en CFD (por las siglas en inglés de: Computational Fluids

Dynamics) en un gran número de ocasiones son de origen discreto y se requiere de métodos delanálisis numérico para operar sobre ellos.

El objetivo principal del análisis numérico es proveer métodos convenientes para solucionarproblemas matemáticos y extraer información útil a partir de las soluciones de algunas ecuacionesque no se conocen explícitamente su definición. Muchos valores de interés de la vida práctica seobtienen a través de mediciones en un espacio discreto y en la mayoría de los casos se desconocela definición explicita de la función que representan.

Existe un gran número de técnicas numéricas (Guckenheimer/Holmes, 1983) para aproximarla solución de las ecuaciones diferenciales de la forma Y

′= f (x,y) con condiciones iniciales

y(x0) = y0. Dentro de ellos se destacan, la familia de los métodos de Runge-Kutta. El métodode Runge-Kutta (Crouch/Grossman, 1993) es un método genérico de resolución numérica deecuaciones diferenciales. Fue inicialmente desarrollado alrededor del año 1900 por los matemáticosC. Runge y M. W. Kutta. Estos métodos reemplazan efectivamente el error de truncamiento de laexpansión de la serie de Tylor:

∑n=0

f (n) (a)n!

(x−a)n (1.16)

donde f (n) es la aproximación de la n-ésima derivada de f .El esquema general de los métodos de Runge-Kutta plantea que el método de orden s se

corresponde con la expresión:

yn+1 = h ·s

∑i=1

biki (1.17)

donde h es el paso de integración. Los coeficientes kison términos de aproximación queresponden a la siguiente ecuación:

ki = f

(tn +h · ci,yn +h ·

s

∑j=1

ai, jk j

)(1.18)

En la ecuación (1.18) tn representa el punto sobre el que se evalúa, ci y ai, j son los coeficientespropios del esquema numérico elegido y dependen de la regla de la cuadratura utilizada.

Por la definición generalizada de curvas tangentes en las ecuaciones (1.14) y (1.15) podemos

22

Page 24: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

aplicar el método de Runge-Kutta de orden 4 para aproximar adecuadamente las curvas tangentes.Debido a que los campos vectoriales describen una función vectorial, integrable en todo su

dominio, se han utilizado a lo largo de los años diferentes métodos numéricos para integrar y derivardichos campos vectoriales. Un ejemplo sencillo de explicar es el cálculo de las curvas tangentesdel campo vectorial, el cual se realiza utilizando el método de integración (Runge-Kutta de orden

4) (Lu et al., 2013).

1.5.1. MÉTODO DE RUNGE-KUTTA

a) b)

Figura 1.10: Esquema de integración numérica Runge-Kutta (orden 4). a) El punto azul es el puntoinicial de la curva y se aplica el algoritmo con paso hacia adelante. b) El punto azul es el puntoinicial de la curva y se aplica el algoritmo como paso hacia adelante y hacia atrás. En ambos casola curva resultante posee aproximadamente, la misma representación.

El método de Runge-Kutta de orden 4 (rk4) se basa en el cálculo de cuatro coeficientes internosdenominados ki

Sean X ∈ Rn y V : D ⊆ Rn → I ⊆ Rn un campo vectorial, donde v f : D→ I es una funcióninterpoladora que para cada X ∈ D produce un vector v ∈ I.

La implementación computacional del método se describe de la siguiente manera:

23

Page 25: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Algoritmo 1.1 Implementación del algoritmo runge-kutta de orden 4 en C++

1 Entrada:

2 x0: Punto sobre el que se quiere integrar el campo vectorial

3 s: paso de integración del Runge -Kutta

4 forward: dirección en la que se integra

5 Salida:

6 Siguiente punto en el campo vectorial

78 SbVec3f rk4(const SbVec3f& x0, float s, bool forward)

9 {

10 if(forward)

11 {

12 SbVec3f v1 = vf(x0);

13 SbVec3f v2 = vf(x0 + v1 * (s / 2));

14 SbVec3f v3 = vf(x0 + v2 * (s / 2));

15 SbVec3f v4 = vf(x0 + v3 * s);

16 return x0 + (v1 / 6 + v2 / 3 + v3 / 3 + v4 / 6) * s;

17 }

18 else

19 {

20 SbVec3f v1 = vf(x0);

21 SbVec3f v2 = vf(x0 - v1 * (s / 2));

22 SbVec3f v3 = vf(x0 - v2 * (s / 2));

23 SbVec3f v4 = vf(x0 - v3 * s);

24 return x0 - (v1 / 6 + v2 / 3 + v3 / 3 + v4 / 6) * s;

25 }

26 }

En la implementación del algoritmo (1.1) se utilizó convenientemente la clase SbVec3f, la cualse encuentra definida en la biblioteca Coin3D (Kongsberg, 2002) . Esta biblioteca fue utilizadacomo herramienta de apoyo para lograr nuestras visualizaciones al igual que VTK (por las siglas

en inglés de Visualization Toolkit).El tercer parámetro del algoritmo (forward) se utiliza para definir, sobre la misma

implementación del método, el sentido de integración de la partícula, que tiene como posicióninicial x0.

Sea una curva tangente L ∈V :

Aplicar el método rk4 en una sola dirección (con paso hacia adelante o hacia atrás), conllevaa truncar la trayectoria de la curva, y por tanto restringir su representación visual. Ver figuras(1.10.a) y (1.10.b)

24

Page 26: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Si en vez de aplicar el esquema de integración en una sola dirección, es aplicado en ambasdirecciones, la curva L ∈V cubrirá todo su dominio de definición. Ver figura (1.10.b). Nóteseque si se aplica en la figura (1.10.b) la integración en una sola dirección, el resultado no seríael mismo.

En la mayoría de los casos, es prácticamente imposible conocer el punto L(0) = p(x) de la curva,por lo que es aconsejable integrar siempre en ambos sentidos. Aplicar el método de integración conpaso hacia adelante y paso hacia atrás brinda ventajas desde el punto de vista de la eficiencia, yaque se puede implementar sobre arquitecturas paralelas a través de MPI (por las siglas en inglés

de Message Passing Interface), OpenMP (por las siglas en inglés de Open Multi-Processing), etc.aplicando ínfimas variaciones sobre el algoritmo (Camp et al., 2013; Fu et al., 2009).

1.5.2. CÁLCULO DE STREAMLINES

Las streamlines de un campo vectorial son calculadas a través de la integración del campovectorial en un intervalo de tiempo (ver epígrafe 1.4.1). Debido a que una streamline y una pathline

de un campo vectorial comparten el mismo dominio espacial y temporal, podemos definir el cálculode una streamline de un campo vectorial estacionario de la siguiente manera.

Sea p(t) ∈ D la posición de una partícula en el instante de tiempo t. La posición inicial de lastreamline se define como p(0) = t0, t=0..n y define una trayectoria que se corresponde con:

p(t) = p(t0)+

0

v f (p(x))dx (1.19)

donde v f puede ser cualquier función interpoladora que cumpla con lo establecido en elepígrafe (1.5.1). La integral (1.19) debe resolverse utilizando el método de Runge-Kutta de orden4 (Lu et al., 2013), aunque para soluciones donde la presición no es un factor decisivo se puedeutilizar el método de Euler. La literatura demuestra, que el método que con mayor frecuencia seutiliza, es el definido en el epígrafe (1.19). Para la elección de p(0) existen diversas tendencias, lascuales pueden estudiarse en (McLoughlin et al., 2010).

Integrando (1.19) se obtiene la trayectoria de la partícula p, que comienza en el instante detiempo t0 y termina en el instante de tiempo tn o en un punto p(ti) /∈ D, que sea generado porel esquema de integración numérico empleado. Además, si la curva alcanza un punto crítico delcampo vectorial, el algoritmo deberá detener su ejecución. El algoritmo (1.1) no tiene en cuenta laposibilidad de generar un punto fuera del dominio, ya que esta condición debe ser chequeada porla implementación de campo vectorial que se tenga.

25

Page 27: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

1.5.3. CÁLCULO DE PATHLINES

Cuando la funciónV describe un campo vectorial dentro del dominio D como el productocartesiano de dos o tres dimensiones seguido de una dimensión temporal, las streamlines del fluido,son reemplazadas por pathlines. Las pathlines definen la trayectoria de una partícula del campovectorial sobre la dimensión espacio− temporal.

Sea p(x, t) ∈ DxT la posición de la partícula en el instante de tiempo t. La posición inicial dela partícula se define como p(0) = [x0, t0] , donde t=0..n y la trayectoria de la misma como:

p(t) = p(x0, t0)+

0

v f (p(x) , t)dx (1.20)

donde p(t) describe la posición de la partícula en el instante de tiempo t. Nótese que la funciónv f ahora depende de la dimensión espacial y de la dimensión temporal.

La generalización del método de Runge-Kutta de orden 4 para el cálculo de las pathlines de uncampo vectorial dependiente del tiempo se expresa en el siguiente algoritmo (1.2):

Algoritmo 1.2 Generalización de Runge-Kutta de orden 4 para integrar campos vectorialesdependientes del tiempo. v f es la función interpoladora de un campo vectorial dependiente deltiempo.

x1 = v f (p(t) , t) ,

x2 = v f(

p(t)+ 4t2 x1, t +

4t2

),

x3 = v f(

p(t)+ 4t2 x2, t +

4t2

),

x4 = v f (p(t)+4tx3, t +4t) , y

p(t +4t) = x1+2(x2+x3)+x46

A diferencia de las streamlines, para las pathlines si se conoce el instante de tiempo t0, por loque no existe necesidad de aplicar el esquema de integración en ambas direcciones.

1.6. VISUALIZACIÓN DE CAMPOS VECTORIALES

Existe en la actualidad un gran número de técnicas de visualización que se emplean pararepresentar los rasgos más significativos de los campos vectoriales. De manera general, lavisualización de fluidos se divide en tres grandes grupos (Weinkauf, 2008):

Visualización directa de campos vectoriales

Visualización basada en integración

Visualización de rasgos topológicos

26

Page 28: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

1.6.1. VISUALIZACIÓN DIRECTA DE CAMPOS VECTORIALES

La visualización directa de campos vectoriales genera una imagen directamente a partir delos datos sin realizar ningún tipo de transformaciones en ellos. Como ejemplo de este tipo devisualización de campos vectoriales podemos presentar el trabajo realizado por (Schulz et al., 1999)

Otra técnica interesante es la visualización de volúmenes (Crawfis et al., 1993; Ebert et al.,1994; Rosa et al., 2003), donde se visualizan campos escalares asociados al campo vectorial(curvatura, torsión, magnitud).

a) b)

Figura 1.11: Visualización directa de campos vectoriales. a) campo escalar que representa lamagnitud del campo vectorial. b) vectores codificados con los valores de magnitud y curvatura.

En la figura (1.11.a) se visualiza el campo de fuerzas del huracán Isabel donde el rojo representalas zonas de mayor intensidad del huracán y el azul las zonas donde las bandas de viento poseenmenor magnitud.

La visualización de flechas (Klassen/Harrington, 1991), (Boring/Pang, 1996) también es unatécnica utilizada para representar campos vectoriales, donde por cada punto de la malla se visualizaun flecha con el mismo sentido y dirección que el vector descrito en el campo vectorial encuestión. Este tipo de visualización puede ser asistida por otras propiedades de los vectores, comola magnitud, la cual puede codificarse mediante la dimensión de la flecha o el color de la misma.

Es importante destacar que los resultados que se obtienen empleando esta técnica, cuandolos datos se encuentran densamente poblados dejan de ser expresivos para convertirse en unarepresentación no interpretable por el usuario, debido al solapamiento entre las flechas. Ver figura(1.11b).

Es muy común encontrar, tanto en la literatura como en las herramientas empleadaspara la visualización de campos vectoriales, una mezcla de estas técnicas. (Urness et al.,2003) es un ejemplo donde se combinan ambas magnitudes: escalares y vectoriales paraproducir un visualización más expresiva. Por otra parte, existen sistemas de visualizacióncomo ParaView (Squillacote/Ahrens, 2007), Amira (Stalling/Westerhoff/Hege, 2005), Mayavi

27

Page 29: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

(Ramachandran/Varoquaux, 2011), etc., que permiten codificar las magnitudes vectoriales a travésde las magnitudes escalares asociadas al campo vectorial.

1.6.2. VISUALIZACIÓN BASADA EN INTEGRACIÓN

Las técnicas basadas en integración numérica pueden dividirse en dos grandes grupos. Unprimer grupo se basa en la convolución de una función sobre una textura, que se deformadependiendo del campo vectorial, y el otro grupo extrae características geométricas del campovectorial.

TÉCNICAS BASADAS EN TEXTURAS

El primer intento de visualización basada en textura fue hecho por (Van Wijk, 1991) consu técnica Spot-Noise, la cual fue extendida rápidamente por (de Leeuw/Van Wijk, 1995),introduciendo la magnitud de los vectores.

Posteriormente surge la convolución de integral de líneas, la cual hace convolucionar la funciónV que describe el campo vectorial sobre una textura (Cabral/Leedom, 1993). Estas técnicas fueronextendidas a campos vectoriales 3D e implementadas sobre la GPU para mejorar los tiempos derespuestas de los algoritmos (Urness et al., 2003).

a) b) c)

d)

Figura 1.12: Visualización de campos vectoriales a través de técnicas basadas en texturas

28

Page 30: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

La figura (1.12.a) describe el campo vectorial asociado al Pacífico Sur empleando la técnicaSpot-Noise en dos dimensiones. La escala de colores codifica la divergencia del fluido donde elcolor rojo tonifican altos valores de la magnitud, mientras que el color azul indica lo contrario.

Las figuras (1.12.b) y (1.12.d) representan la técnica LIC (por las siglas en inglés de LineIntegral Convolution) de campos vectoriales 2D y 3D.

Finalmente la figura (1.12.c) visualiza una combinación de Spot-Noise y LIC para un campovectorial analítico.

TÉCNICAS BASADAS EN GEOMETRÍA

Los métodos basados en geometrías se encargan de visualizar las líneas del fluido, ya seamediante puntos, líneas, superficies o volúmenes. (Kenwright/Lane, 1996) introduce el trazado departículas en fluidos dependientes del tiempo, que posteriormente fue implementado sobre la GPUpara acelerar el proceso de cómputo del algoritmo.

Streamlines iluminadas es un método bastante expresivo que utiliza el vector tangente de lacurva en cada punto como un patrón de luz, el cual es utilizado por la iluminación de la escenapara decorar las líneas del fluido y reducir el solapamiento de las mismas (Zockler/Stalling/Hege,1996).

a) b) c)

Figura 1.13: Streamlines ilumiadas y Streamsurfaces

Sin lugar a dudas, las técnicas de visualización basadas en la extracción de las líneas de corrientey superficies de corriente brindan la mayor cantidad de información referente al fluido, a pesar delalto costo computacional que sus implementaciones contemplan.

1.6.3. VISUALIZACIÓN DE RASGOS TOPOLÓGICOS

La extracción y visualización son técnicas efectivas para el estudio de campos vectoriales.Los métodos basados en la extracción de rasgos se basan en codificar regiones del fluido que

29

Page 31: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

son de interés para los especialistas (puntos críticos, vórtices, superficies de separación, líneas

de separación).La topología en general como rama de la matemática puede ser estudiada en (Abraham/Shaw,

1983), donde se expresan fundamentos del comportamiento topológico de los sistemas dinámicos.Los métodos topológicos fueron introducidos en la visualización de campos vectoriales por

(Batra et al., 1999), donde por primera vez los puntos críticos de primer orden de los camposvectoriales fueron clasificados por los valores propios y vectores propios de la matriz jacobianaasociada al punto. En el trabajo presentado por (Theisel/Seidel, 2003) se le da seguimiento aalgunos rasgos del fluido a través de la integración de las streamlines del fluido.

En (Globus/Levit/Lasinski, 1991) se realiza un excelente trabajo para extraer y visualizar elesqueleto topológico de los campos vectoriales 3D.

En las figura (1.14) se representa el esqueleto topológico de campos vectoriales 3D.Debido a la importancia de los rasgos topológicos de los fluidos, muchos esfuerzos se han

realizado en aras de extraer tales rasgos, con el objetivo de minimizar los requerimientos dehardware para el análisis de campos vectoriales complejos. Además, esta familia de métodosbrinda la posibilidad de entender el comportamiento del fluido a través de la representación desu topología, la cual se construye a partir de líneas, puntos y superficies.

a) b) c)

Figura 1.14: Topología del fluido

1.7. CONCLUSIONES

Las técnicas de visualización de campos vectoriales optimizan en gran medida el proceso deexploración y análisis de los datos.

La visualización de rasgos topológicos de un fluido ayuda a entender el comportamientoglobal del campo vectorial, mientras que las técnicas basadas en integración de texturasmuestran con un mayor nivel de detalle el comportamiento de los datos en todas las regionesdel campo vectorial.

30

Page 32: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Las técnicas que describen las líneas y superficies del fluido, a pesar de su alto costocomputacional, muestran de manera más expresiva el comportamiento de los datos.

31

Page 33: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Capítulo 2

EXTRACCIÓN DE ZONAS DE

COMPORTAMIENTO SIMILAR EN CAMPOS

VECTORIALES

El análisis de grupos es descrito como una herramienta para el descubrimiento delconocimiento, ya que permite establecer de forma automática relaciones de similitud entre losdatos. Los algoritmos de agrupamiento son usados para encontrar una estructura de grupos quese ajuste al conjunto de datos, logrando homogeneidad dentro de los grupos y heterogeneidadentre ellos (Ankerst, 2001; Anderberg, 1973). Debe existir un alto grado de asociación entre losobjetos de un mismo grupo y un bajo grado entre los miembros de grupos diferentes. Cuando elagrupamiento se basa en la similitud de los objetos, se desea que los objetos que pertenecen almismo grupo sean tan similares como se pueda y los objetos que pertenecen a grupos diferentessean tan diferentes como sea posible. En otras palabras, seguir el principio de maximizar la similituddentro del grupo y minimizar la similitud entre los grupos (Jain/Murty/Flynn, 1999).

El concepto de “similitud” tiene que ser especificado acorde a los datos. En la mayoríade los casos los datos son vectores de valores reales, entonces se requieren algunas medidas(distancias, similitudes, o disimilitudes) para cuantificar el grado de asociación entre ellos(Irpino/Verde/De Carvalho, 2014; Rossl/Theisel, 2012).

Los métodos de agrupamiento se clasifican siguiendo varios criterios: tipo de los datos deentrada del algoritmo, criterios para definir la similitud entre los objetos, conceptos en los cualesse basa el análisis y forma de representación de los datos, entre otros (Halkidi et al., 2001a). Unaclasificación general distingue dos tipos: aquellos basados en una función objetivo (basados en

partición) y los jerárquicos (Jiawei/Kamber, 2001; Pedrycz, 2005).Los algoritmos basados en partición se caracterizan por la construcción de particiones (grupos)

del conjunto de datos sobre la base del perfeccionamiento de algún índice, conocido también comofunción objetivo. El objetivo de estos métodos es encontrar la mejor división de los datos en k

32

Page 34: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

grupos basada en una medida de similitud dada y conservar el espacio de particiones posibles en k

subconjuntos.El algoritmo kmeans propuesto por McQueen en 1967 es un algoritmo típico de agrupamiento

basado en particiones. El algoritmo trabaja con un número k prefijado, sobre el cual se construyenlos grupos. En cada grupo se calcula el grado de pertenencia de los elementos al mismominimizando la función (2.1):

k

∑i=1

∑O∈Ci

| O−µi |2−→ min (2.1)

donde O es un objeto perteneciente al grupo Ci y µ i es el elemento más representativo del grupo(centroide), en la mayoría de los casos la media de Ci o el elemento que reduce la distancia al restodel grupos. Así, la función objetivo trata de minimizar la suma de los cuadrados de las distanciasde los objetos a los centros de sus respectivos grupos.

Este algoritmo posee algunas variantes como kernel − kmeans, la cual logra separarcorrectamente los grupos cuando el conjunto de entrada no es linealmente separable (Jain, 2010).Esta variante traslada los datos originales a un nuevo espacio de dimensiones mayores y lotransforma en un conjunto de datos sobre un espacio linealmente separable.

a) b)

Figura 2.1: Agrupamiento basado en particiones. a) kmeans. b) kernel-kmeans

Los algoritmos jerárquicos, hacen una descomposición jerárquica de los datos. Dentro deellos, los aglomerativos (bottom-up), consideran que cada objeto constituye un grupo, por tanto,inicialmente existen tantos grupos como objetos tiene la colección de datos, y sucesivamente losunen, hasta que todos los objetos formen un único grupo, generalmente considerando alguna de lasmedidas de distancia entre grupos, dentro de las cuales se encuentran el enlace simple(Gower/Ross,1969; Kumar, 1968) y el enlace completo (Baker/Hubert, 1976), que son ampliamente utilizadas.

Por otra parte se encuentran los algoritmos divisivos (top-down) que consideran inicialmente laexistencia de un único grupo al cual pertenecen todos los objetos del conjunto de datos. Este único

33

Page 35: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

grupo es dividido sucesivamente en grupos más pequeños, hasta que cada grupo contenga un únicoobjeto. Algunos algoritmos jerárquicos de este tipo son: BIRCH (Sheikholeslami/Chatterjee/Zhang,1998) es una variante con complejidad lineal, pero no tiene en cuenta la calidad del agrupamiento,requiere de parámetros de entrada que pueden forzar el tamaño de los grupos, es sensible al ordende los datos de entrada y es cuestionable su uso en datos con alta dimensionalidad. CURE es capazde captar grupos de varias formas y tamaños, tiene una alta complejidad y es sensible a variosparámetros de entrada (Guha et al., 1998).

El agrupamiento basado en celdas (grid-based clustering) es esencialmente propuesto para laminería de datos espaciales (Halkidi/Batistakis/Vazirgiannis, 2001). Algunos algoritmos basadosen celdas son: ST ING (Wang et al., 1997), WaveCluster (Sheikholeslami/Chatterjee/Zhang, 1998;Sheikholeslami/Chatterjee/Zhang, 2000) y CLIQUE (Agrawal et al., 1998).

Existe una clasificaciónque divide el agrupamiento en conceptual y estadístico (Halkidi/Batistakis/Vazirgiannis, 2001).Por otra parte, aquellos algoritmos que utilizan métodos geométricos y técnicas de proyección seclasifican en agrupamiento incompleto o heurístico (?, ). Otras propuestas agrupan utilizando redesneuronales artificiales, por ejemplo, mapas auto-organizativos (SOM: por las siglas en inglés de

Self Organizing Maps) (Halkidi/Batistakis/Vazirgiannis, 2002) . Algunos agrupamientos se basanen modelos (model-based clustering), encontrando buenas aproximaciones de los parámetros delmodelo que mejor ajustan los datos.

Otra clasificación, no mutuamente excluyente a las ya presentadas, considera la formade manipular la incertidumbre en términos del solapamiento de los grupos: agrupamientoduro y borroso (?, ). Las técnicas duras pueden ser deterministas o con solapamiento. Lasdeterministas crean una partición, donde los grupos son mutuamente excluyentes y exhaustivosdel universo de objetos. Los algoritmos con solapamiento crean un cubrimiento, donde un objetopuede pertenecer a más de un grupo. Las técnicas borrosas se subdividen en probabilísticas yposibilísticas (Kruse/Döring/Lesot, 2007). El algoritmo EM (Bradley/Fayyad/Reina, 1998), basedel agrupamiento basado en modelos probabilísticos, y su mejora FREM (Ordonez/Omiecinski,2002), son variantes del algoritmo kmedias y asignan a los objetos una distribución de probabilidadde pertenencia a cada grupo. Éstos manipulan datos de alta dimensionalidad, pero realizan unrefinamiento muy costoso.

También existen los algoritmos de agrupamiento basados en la descomposición espectral de lamatriz de distancia. Aunque no constituye una clasificación de algoritmo de agrupamiento puedeverse como un mecanismo efectivo que mejora la calidad de los resultados. El agrupamientoespectral (Dey/Rossi/Sidiropoulos, 2014; Ng et al., 2002) como también se denominan esta familiade métodos, a partir de un número k prefijado calcula los k−mayores vectores propios1 de lamatriz de afinidad D y el grafo de Lapace asociado, con el fin de trasladar los datos a un espaciok−dimensional sobre el cual se ejecuta un algoritmo de agrupamiento. Las variantes del algoritmo

1Vectores propios asociados a los k− valores propios de mayor valor

34

Page 36: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

kmeans son muy utilizadas en el agrupamiento espectral, ya que las transformaciones realizadascon los k− vectores− propios en el espacio k− dimensional genera grupos que son linealmenteseparables (Rossl/Theisel, 2012). Al igual que el algoritmo kernel − kmeans, el agrupamientoespectral es útil cuando el espacio de entrada no es linealmente separable (Shi/Malik, 2000).

La correcta elección del parámetro k define la calidad del agrupamiento en los algoritmosbasados en particiones. La estimación del parámetro a través de los cortes normalizados es utilizaday fundamentada su aceptación en (Shi/Malik, 2000), (Rossl/Theisel, 2012), (Dhillon/Guan/Kulis,2004), (Shi/Malik, 1998), (Carreira/Sminchisescu, 2010), (Huang et al., 2013) debido a la calidadde los resultados cuando los datos poseen características geométricas.

Las técnicas de agrupamiento son herramientas generales para el análisis de datos, que tambiénson valiosas para la visualización de trayectorias (Ferreira et al., 2013). Además, permiten revelarpatrones y comportamientos ocultos dentro de un conjunto, que pueden ser visualizados de maneraexpresiva, facilitando así la comprensión de los datos y la reducción del solapamiento.

Existen dos clases principales de algoritmos de agrupamiento para datos que representantrayectorias (Ferreira et al., 2013). La primera clase corresponde a los métodos que transformanlas trayectorias en un espacio métrico (n-dimensional) para poder definir las nociones de similitud,y utilizar técnicas de agrupamiento punto− punto. El principal inconveniente de este enfoque es ladificultad de definir una similitud entre trayectorias, lo cual produce características no deseadas, ohace caso omiso del comportamiento global de la trayectoria.

La segunda categoría comprende al enfoque basado en la geometría de las trayectorias, en elcual se supone una agrupación sobre las características geométricas de los parámetros del modelo.Un ejemplo de esta clase es el trabajo presentado por Wei et al. (Wei et al., 2011), en el cual lastrayectorias se aproximan mediante polinomios ajustados.

Las curvas tangentes de los campos vectoriales, por definición describen la trayectoria seguidapor las partículas sobre el dominio espacial, y por tanto pueden utilizarse como datos de entradade los algoritmos de agrupamiento, que responden a la segunda clasificación de agrupamiento detrayectorias descrita por (Wei et al., 2011).

2.1. ZONAS DE COMPORTAMIENTO SIMILAR EN CAMPOS

VECTORIALES

Existen varias técnicas que permiten la extracción adecuada de “zonas de comportamientosimilar” en campos vectoriales estacionarios. Estas técnicas interpretan como zonas decomportamiento similar a las regiones del fluido en las que se manifiestan de manera similar algunaspropiedades físico-matemáticas del campo vectorial asociado.

En (Kuhn et al., 2011) se utiliza el campo escalar de energía elástica del fluido para definirla zonas de comportamiento similar, mientras que en (Lu et al., 2013) se utiliza la información

35

Page 37: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

topológica de las curvas de fluido y (Li/Wang/Shene, 2013) involucra de manera simultánea lainformación topológica y geométrica de las curvas tangentes del fluido para determinar las regionesde comportamiento similar.

Las definiciones de zona de comportamiento similar expresadas en (Kuhn et al., 2011),(Lu et al., 2013) y (Li/Wang/Shene, 2013) poseen dificultades para expresar el transporte de otrassustancias dentro de un fluido. Kuhn et al. no contemplan el comportamiento de las partículasen toda su trayectoria, sino que se limitan a estudiar porciones de las curvas tangentes, que secomportan de modo similar y al situar una partícula en un lugar determinado se torna imposibledeterminar el destino de la misma.

Por otra parte Lu. et al. y Li. et al. estudian el comportamiento global de la trayectoriaque recorren las partículas, pero no tienen en cuenta la posición, y por tanto las regiones decomportamiento similar pueden quedar separadas entre sí por otras regiones que se comportende manera diferente. En la figura (2.3.b) puede observarse cómo la región resaltada en rojo seencuentra dividida por regiones de color verde.

En este trabajo se define como zona de comportamiento similar a la región que involucrael comportamiento global de las curvas tangentes del campo vectorial, así como la posicióngeográfica de las mismas. Geométricamente, una región de comportamiento similar se define comola envoltura que engloba el conjunto de curvas tangentes que comparten una vecindad determinaday una estructura similar. La vecindad y la similitud entre dos curvas tangentes quedan definidas porla función de distancia utilizada en el algoritmo de agrupamiento.

De las funciones de distancia mencionadas en los epígrafes (2.2.3), (2.2.2) y (2.2.1), (2.2.4)solo la distancia de Hausdorff involucra el comportamiento global de la geometría y la posiciónde las curvas, por lo que constituye la métrica adecuada para extraer las zonas de comportamientosimilar en fluidos estacionarios.

2.2. FUNCIONES DE DISTANCIA PARA EL AGRUPAMIENTO EN

CAMPOS VECTORIALES

Es prácticamente imposible hablar de agrupamiento sin haber establecido antes el criterio deunión o división de los datos. Dígase de este criterio que es la función de distancia que permitecomparar la cercanía o lejanía entre dos elementos de un mismo espacio.

Una función de distancia d en el conjunto X debe cumplir con los siguientes axiomas:

d (x,y)≥ 0 (no negatividad)

d (x,y) = d (y,x) (simetría)

d (x,x) = 0 (existencia del elemento neutro)

36

Page 38: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

para toda x,y ∈ X .Existen también distancias en las cuales los elementos x,y pertenecen a dominios diferentes. Es

el ejemplo de:

distancia de un punto a una curva

distancia de un punto a un conjunto

distancia entre conjuntos

Para el caso de los campos vectoriales las funciones de distancia se han manifestado sobrediferentes dominios. En muchos casos las funciones de distancia involucran magnitudes escalaresdel campo ve vectorial (curvatura, torsión, etc.) (Peng et al., 2012; Kuhn et al., 2011), mientrasque en otros se emplean funciones de distancias basadas en la integración previa del campovectorial(Rossl/Theisel, 2012).

Las streamlines de un campo vectorial estacionario describen el comportamiento global delfluido, y por tanto constituyen el elemento más descriptivo del campo vectorial. En (Rossl/Theisel,2012; Ma et al., 2013; Li/Wang/Shene, 2013; Lu et al., 2013) se utilizan las streamlines de un fluidocomo el tipo de dato básico para establecer un agrupamiento sobre el dominio.

Para el agrupamiento de fluidos a partir de técnicas de integración se han propuesto variasmedidas de distancia. La mayoría de estos métodos tratan cada streamline como un conjunto depuntos sobre un dominio discreto. Debido a la forma de tratar las streamlines, las funciones dedistancias se caracterizan por ser punto a punto (en inglés: point-wise distance measures). Dentrode las más utilizadas se encuentran la distancia entre los puntos más cercanos, la distancia media yla distancia de Hausdorff.

2.2.1. DISTANCIA ENTRE LOS PUNTOS MÁS CERCANOS (DC)

La distancia entre los puntos más cercanos es una distancia basada en la norma euclidiana,que calcula la distancia euclidiana entre los puntos más cercanos de dos curvas. Tal función dedistancia no tiene en cuenta algunos parámetros como la dimensión, la geometría y la orientaciónde los conjuntos.

Sean X y Y dos conjuntos diferentes del vacío pertenecientes a un espacio métrico (M,‖ · ‖).La distancia DC se define como:

DC (X ,Y ) = minx∈X ,y∈Y ‖ x− y ‖ (2.2)

donde ‖ · ‖ se corresponde con la norma euclidiana.Por definición es evidente que dos curvas que se cortan tienen distancia 0. En un campo

vectorial, sin embargo, dos líneas de fluido no se intersectan nunca (excepto en los puntos críticos).

37

Page 39: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Esta función de distancia posee un bajo costo computacional y brinda buenos resultados cuando losfluidos son poco turbulentos.

2.2.2. DISTANCIA MEDIA (DM)

La distancia media entre dos conjuntos extrae el promedio de las distancias mínimas entre todoslos elementos de ambos conjuntos. A diferencia de la distancia definida en (2.2.1), esta distanciainvolucra la componente geométrica y la orientación de gran parte del conjunto de datos.

Sean X y Y dos conjuntos diferentes del vacío pertenecientes a un espacio métrico (M,‖ · ‖).La distancia de DM se define como:

DM =12(dm (X ,Y )+dm (Y,X)) (2.3)

dm =∑

Nx∈X miny∈Y ‖ x− y ‖

N(2.4)

donde ‖ · ‖ es la norma euclidiana.

2.2.3. DISTANCIA DE HAUSDORFF (DH )

La distancia de Hausdorff mide cuan lejos se encuentran dos conjuntos pertenecientes a unmismo espacio métrico. En otras palabras, según esta distancia, dos conjuntos son cercanos si cadapunto del primer conjunto es cercano a algún punto del segundo conjunto.

Sean X y Y dos conjuntos diferentes del vacío pertenecientes a un espacio métrico (M,d), ladistancia de Hausdorff se define como:

DH=max{

supx∈X (in fy∈Y (d (x,y))) ,supy∈Y (in fx∈X (d (x,y)))}

(2.5)

donde sup es el supremo, in f es el ínfimo del conjunto y d es la métrica del espacio.Aunque el costo computacional de esta distancia es alto, es muy utilizada para comparar curvas

en el espacio, ya que la geometría puede ser correspondida parcialmente y no es invariante a lastransformaciones (rotación, traslación y escalado).

2.2.4. DISTANCIA CON DISTRIBUCIÓN PROBABILÍSTICA

Las distancias definidas en los epígrafes (2.2.1), (2.2.2) y (2.2.3) involucran de cierto modola información geométrica de los conjuntos (streamlines) y la distancia espacial entre suscomponentes. La similitud es otro aspecto que puede medirse entre dos conjuntos y necesariamenteno tiene por que estar ligado a la distancia espacial entre los elementos de cada uno.

38

Page 40: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

La función de distancia definida por (Lu et al., 2013) calcula la distribución de la curvatura a lolargo de una streamline. Cada streamline es sometida a un proceso de segmentación y se representala distribución de la curvatura en un histograma en 1D. Posteriormente se forma un histograma 2Dordenando los histogramas 1D que identifican cada segmento. De ese modo cada streamline quedadefinida como un histograma 2D.

Siguiendo la definición de Lu et. al., comparar dos streamlines se reduce a comparar doshistogramas 2D. En (Lu et al., 2013) se utiliza la distancia EMD (Huang et al., 2014) para comparardos histogramas.

2.2.5. DISTANCIA ENTRE RASGOS

La bolsa de rasgos o BoF (por las siglas en inglés de Bag of Features) es una métrica empleadaen (Miserendino/Maynard/Freeman, 2014) que calcula en cada punto del fluido (dentro del dominio

discreto) un colección de rasgos compuesta por algunos campos escalares asociados al fluido, comocurvatura, torsión, tortuosidad, etc.

A cada punto del espacio discreto del fluido se le asocia un nuevo vector que contiene lacolección de rasgos asociada a él y que fueron previamente calculados. Sobre el nuevo espaciose aplica una métrica llamada SS-BoF (por las siglas en inglés de Spatially Sensitive Bag OfFeatures) que calcula la distancia entre colecciones, manteniendo la distancia espacial implícita enla ecuación (Ciptadi/Goodwin/Rehg, 2014).

Este nuevo enfoque es utilizado en (Miserendino/Maynard/Freeman, 2014) y comparado conlas soluciones propuestas por (Lu et al., 2013), brindando resultados similares.

2.3. AGRUPAMIENTO EN CAMPOS VECTORIALES

La exploración visual de campos vectoriales 3D es un reto actual dentro del área de lavisualización científica. Algunos enfoques se basan en la extracción de estructuras semánticasdentro del fluido y combinan la segmentación con la representación topológica del mismo(Rossl/Theisel, 2012). Otros enfoques como (Yu et al., 2012), aplican métodos jerárquicos sobrecriterios locales del fluido para seleccionar grupos de curvas tangentes y en algunos se realizala exploración del fluido a través de un grafo (Ma et al., 2013) que representan la relación suselementos.

Los trabajos que combinan la topología del fluido con el agrupamiento, poseen un mayorgrado de aceptación dentro de la comunidad CFD ya que permiten representar el fluido a partirde un pequeño número de geometrías y facilitan la exploración y entendimiento del mismo. Losresultados propuestos hasta el momento involucran el comportamiento de algunas característicastopológicas con la información geométrica de los fluidos estacionarios.

39

Page 41: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

En este trabajo se integran las técnicas basadas en integración y el agrupamiento de camposvectoriales para dar solución al problema planteado.

2.3.1. AGRUPAMIENTO EN CAMPOS VECTORIALES ESTACIONARIOS

Una de las teorías aceptadas hasta el momento para la exploración visual de campos vectorialesse enfoca en la búsqueda de estructuras semánticas dentro del fluido, lo que también se conoceen la literatura como la extracción de zonas de comportamiento similar, segmentación de camposvectoriales o simplemente agrupamiento en campos vectoriales.

Extraer zonas de comportamiento similar en fluidos es una tarea que se reduce a agruparlos datos de fluido según los rasgos que se quieran tener en cuenta, ya sean líneas del fluido ocolecciones de rasgos.

Dentro de los trabajos más relevantes en la extracción de zonas de comportamiento similar enfluidos 3D está (Rossl/Theisel, 2012), donde se calcula un mapa que representa cada streamline

como un punto en el espacio. El problema es reducido a una tarea de optimización, que se describecomo sigue:

n

∑i=1

n

∑j=1

(DH(si,s j

)−d(e(si) ,e

(s j)))−→ min (2.6)

donde DH es la distancia de Hausdorff, si y s j representan dos streamlines del campo vectorial,d es la distancia definida en el espacio e (en este caso coincide con la distancia euclidiana) y e(si)

y e(s j)

son los puntos generados para si y s j en el espacio e.En (Rossl/Theisel, 2012) el fluido es discretizado con un paso constante en las direcciones de

los ejes coordenados, y por cada punto del nuevo espacio discreto se genera una streamline si. Lastreamline si solo será generada en el espacio e si DH

(si,s j

)> δmin. La restricción de distancia

para la generación de streamlines provoca que tanto las streamlines del campo vectorial V comolos puntos del espacio e se distribuyan δ -distantemente.

El agrupamiento realizado tanto en el espacio de las streamlines como en el espacio e ayudaa interpretar de manera eficiente el propósito del artículo. Un trabajo similar es el realizado por(Lin et al., 2013) donde se propone un nuevo método isométrico local basado en los métodos dereducción de dimensiones desde la perspectiva de los campos vectoriales (Ma/Fu, 2012).

40

Page 42: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

a) b)

Figura 2.2: Resultados obtenidos por (Rossl/Theisel,2012) para campos vectoriales 2D. a) espaciode streamlines. b) espacio e generado por la solución propuesta.

El trabajo realizado por (Lu et al., 2013) es un nuevo enfoque de agrupamiento sobre camposvectoriales donde se utiliza una función de distancia basada en la distribución probabilística de lacurvatura a lo largo de una streamline. Este tipo de distancia permite agrupar líneas de fluido quetienen comportamiento similar aunque se encuentren dispersas en el espacio.

Durante el proceso de agrupamiento se utiliza la función de distancia con distribuciónprobabilística descrita en el epígrafe (2.2.4), ya que cada streamline se representa como unhistograma 2D.

a) b)

Figura 2.3: Agrupamiento basado en distribución probabilística de la curvatura. a) segmentado deuna streamline 3D. b) agrupamiento de un campo vectorial 2D.

Para sincronizar los segmentos se utiliza un algoritmo de programación dinámica quedetermina el mapa óptimo entre dos secuencias. Ese algoritmo es el muy utilizado DTW(Papandreou/Gatos/Louloudis, 2014) (por las siglas en inglés de Dynamic Time Warping) paracalcular distancias entre series de tiempo.

(Kuhn et al., 2011) calculan el campo de energía elástica asociado al campo vectorial dondese obtiene un campo escalar referente a los valores de curvatura y de energía elástica de

41

Page 43: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

las líneas del fluido. Sobre el campo escalar discreto resultante se aplica un algoritmo deagrupamiento, que determina las zonas de comportamiento similar en determinadas partes de unconjunto de streamlines (no involucra todo el dominio de las streamlines). Este trabajo contribuyósatisfactoriamente al estudio de la circulación sanguínea en las aneurismas cerebrales.

En el 2013 (Ma et al., 2013) propone utilizar un grafo para explorar las líneas de fluido einteractuar con el campo vectorial a través de técnicas de enlace y selección.

La presente investigación se sustenta sobre la base del trabajo realizado por (Helman/Hesselink,1991b) quienes plantean que un fluido dependiente del tiempo en un intervalo de [0..t] puedeanalizarse como una colección de t + 1 campos vectoriales estacionarios. Por otra parte, elagrupamiento de datos de fluido (estacionarios) es un tema bien fundamentado dentro de laliteratura, y por tanto juega un importante rol dentro de esta investigación.

La segmentación de un campo vectorial dependiente del tiempo sobre el dominio temporalpermite estudiar el comportamiento de las propiedades f ısico−matematicas de las partículas endiferentes momentos, sin la necesidad de explorar el campo vectorial en su totalidad.

2.3.2. AGRUPAMIENTO EN CAMPOS VECTORIALES DEPENDIENTES DEL

TIEMPO

El agrupamiento de campos vectoriales depende, en primer lugar, del tipo de datos a analizar.Estos pueden estar constituidos por los diferentes tipos de curvas del fluido, por los valores decurvatura, torsión, magnitud o simplemente una colección de ellos. La principal dificultad sepresenta cuando las funciones de distancia que utilizan los algoritmos de agrupamiento no sonefectivas para los datos de entrada. Las curvas tangentes de los campos vectoriales dependientes deltiempo expresan el comportamiento espacio− temporal de las partículas del fluido descrito desdediferentes perspectivas, y por tanto constituyen el tipo de dato básico para realizar el agrupamiento.

En la actualidad solo existen funciones para medir la similitud entre las líneas de fluidosque no dependen de la variable temporal. De igual modo, no se conocen funciones de distanciaque permitan comparar las trayectorias seguidas por dos partículas diferentes sobre el dominiotemporal. La ausencia de una función de distancia apropiada para comparar pathlines impideanalizar la evolución de las zonas de comportamiento similar en campos vectoriales dependientesdel tiempo sobre todo su dominio.

El presente trabajo propone un método para estudiar la evolución de las zonas decomportamiento similar en fluidos dependientes del tiempo a través de la segmentación del camposobre el dominio temporal. El método extrae las zonas de comportamiento similar en cada instantede tiempo, separando el dominio espacial del dominio temporal y aplicando un esquema deagrupamiento en cada instante de tiempo. Ver algoritmo (2.1).

42

Page 44: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

V1 V2 V3 V4 V5 ... Vn⇓ ⇓ ⇓ ⇓ ⇓ ⇓ ⇓

SL1 SL2 SL3 SL4 SL5 ... SLn⇓ ⇓ ⇓ ⇓ ⇓ ⇓ ⇓

G1 G2 G3 G4 G5 ... Gn

Figura 2.4: Esquema de trabajo para analizar la evolución de las zonas de comportamiento simlaren fluidos dependientes del tiempo.

En la figura (2.4) se muestra el esquema de trabajo propuesto en esta investigación para estudiarla evolución de las zonas de comportamiento similar en campos vectoriales dependientes deltiempo.

Los elementos Vi, i = 1..t representan la segmentación del campo vectorial dependiente deltiempo en t campos vectoriales estacionarios. SLi, i = 1..t es el conjunto de streamlines calculadoen cada Vi, y Gi representa el conjunto de grupos calculados en Vi.

Para el cálculo de los elementos del conjunto SLi es necesario establecer un criterio que facilitela elección del punto inicial o semilla de cada streamline, como el que se plantea en (Ye/Kao/Pang,2005; Zhang et al., 2013; McLoughlin et al., 2010; Zhang et al., 2014). Otro enfoque para calcularel punto semilla de cada streamline es el seguido por (Rossl/Theisel, 2012), en el cual se generagran cantidad de streamlines. En este caso, el conjunto SLi se torna difícil de explorar debido alsolapamiento de las curvas en el espacio.

Los mapas de prominencia son una buena estrategia para generar streamlines. Se basan en elcálculo de la curvatura y dependiendo de la parte del campo vectorial que se quiere estudiar, seestablece un umbral que delimita los puntos sobre los cuales integrar el espacio SLi.

Las herramientas presentadas en el Capítulo 3 utilizan los mapas de prominencia para calcularla semilla de cada streamline y la generación aleatoria. Para el primer caso es necesario establecerun umbral para el valor de la curvatura, mientras que para el segundo caso solo se establece lacantidad de puntos a generar (Ma et al., 2014).

Los grupos resultantes de un algoritmo de agrupamiento y las zonas de comportamiento similarde un campo vectorial comparten los principios del agrupamiento: los elementos dentro de un gruposon muy parecidos, mientras que los elementos de grupos diferentes se parecen lo menos posible.Esta similitud entre grupos y zonas de comportamiento similar brinda la posibilidad de aplicaralgoritmos de agrupamiento sobre campos vectoriales para el estudio de las zonas de interés.

El problema relacionado con la determinación del número óptimo de grupos para unagrupamiento es realmente complejo, y por lo general se trata fuera del contexto de los algoritmos.Existen varias estrategias para determinar el número de grupos existentes en un conjunto de datos.Una primera variante es ejecutar varias veces algoritmos basados en particiones como kmeans o EM

(por las siglas en inglés de Expectation-Maximization) variando el número de particiones en cada

43

Page 45: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Algoritmo 2.1 Extracción de zonas de comportamiento similar en fluidos estacionarios

1 Entrada:

2 VF: Campo vectorial dependiente del tiempo

3 t: Instante de tiempo a agrupar

4 n: Cantidad de veces que se ejecutará

5 el algoritmo kmeans sobre VF[t]

6 Salida:

7 G[t]: Agrupamiento con mejor índice BIC

8 NKmeans(VF, t, n)

9 {

10 v = VF[t]

11 for(i = 2..n)

12 {

13 Clustering[t] = kmeans(v,i)

14 LBIC[i-2] = ComputeBICIndex(Clustering[t])

15 }

16 return G[t] = Clustering[best(LBIC)]

17 }

paso. Para cada resultado del algoritmo de agrupamiento se calculan ciertos criterios estadísticos,que arrojan cual de las iteraciones es la mejor. Es el caso de Fraley y Raftery (1998), quienesproponen usar BIC (por las siglas en inglés Bayesian Information Criterion) como la medidaestadística para el método de agrupamiento EM.

La segunda variante es utilizar algoritmos jerárquicos y aplicar la medida AWE (por las siglas

en inglés de Approximate Weight of Evidence) propuesta por Banfield y Raftery (1993).Con el propósito de refinar el agrupamiento en cada instante de tiempo, en este trabajo se

realizaron varias corridas del algoritmo kmeans para el mismo juego de datos (un instante de

tiempo) variando cada vez el número de grupos a encontrar. Al aplicar el índice BIC a cada uno delos agrupamientos obtenidos se pudo corroborar que la cantidad de regiones del campo vectorialvaría deprendiendo del tipo y la cantidad de puntos críticos que posee la topología del campovectorial en general.

El algoritmo (2.1) describe completamente la filosofía de trabajo seguida en esta investigaciónpara la extracción de las zonas de comportamiento similar en campos vectoriales dependientes deltiempo.

En el algoritmo (2.1) el parámetro n representa el número de veces que se ejecuta el algoritmokmeans, este parámetro es empírico y debe ser fijado por el usuario. La dimensión de n afectaconsiderablemente el tiempo de ejecución del algoritmo. Por otra parte kmeans representa unaimplementación del algoritmo kmeans tradicional y t es el instante de tiempo sobre el cual serealiza el agrupamiento.

44

Page 46: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

El parámetro V F representa la lista de campos vectoriales estacionarios que describen el campovectorial dependiente del tiempo. El parámetro t se relaciona con el instante de tiempo que se deseasegmentar en zonas de comportamiento similar y la variable i del bucle representa el número degrupos a encontrar por el algoritmo kmeans. LBIC es la lista donde se almacena índice BIC asociadoal resultado de cada agrupamiento obtenido por kmeans, Clustering es una lista que almacena losagrupamientos y best es la función que encuentra el mejor BIC.

En los epígrafes (2.3.2.1) y (2.3.2.2) se explican con detalles los resultados arrojados porel algoritmo (2.1) desde el punto de vista visual. Las zonas de comportamiento similar puedenestudiarse visualmente de dos maneras. Una involucra la representación del elemento másrepresentativo o centroide de la zona de comportamiento similar, mientras que la otra representa, através de un grafo orientado la evolución de las zonas en el tiempo, excluyendo de la visualizaciónla topología del fluido.

El cálculo de las zonas de comportamiento similar de todo el campo vectorial se realizaaplicando el algoritmo NKmeans propuesto en (2.1) sobre cada uno de los instantes de tiempodel campo vectorial. Para determinar la evolución de las zonas de comportamiento similar sobre eldominio temporal se almacenan los resultados del algoritmo de agrupamiento en forma de grafo,donde los nodos representan las zonas y las aristas determinan el movimiento de los elementos deuna zona determinada en el tiempo.

2.3.2.1. VISUALIZACIÓN DE LA EVOLUCIÓN DEL ELEMENTO MÁS REPRESENTATIVO DE

UN GRUPO

La visualización de la evolución de las zonas de comportamiento similar en fluidos dependientesdel tiempo mediante la representación visual del elemento más representativo permite analizar deforma fácil el comportamiento del fluido a lo largo del tiempo cuando el número de zonas seincrementa considerablemente y el área de la región que representa cada zona de comportamientosimilar disminuye. Al aumentar la cantidad de grupos en una región pequeña, se incrementa engran medida el solapamiento entre las líneas de fluido, y por ende se dificulta su análisis.

Visualizar el elemento más representativo de una zona de comportamiento similar del espacioGi se convierte en visualizar la curva tangente que mejor describe dicha zona. Esta curva SLc ∈ Gi

coincide con el centroide del grupo generado por el algoritmo NKmeans. Dicho centroide escalculado por el algoritmo de agrupamiento y coincide con la curva tangente que tiene la distanciamínima al resto de las restantes curvas de una zona determinada.

El proceso de construcción de la evolución del elemento más representativo de una zona decomportamiento similar utiliza la distancia de Hausdorff (ver epígrafe 2.2.3) para determinar elgrado de similitud entre los centroides, y calcular así la evolución de los mismos en el tiempo.

n

∑i=1

mi

∑j=1

mi´+1

∑k=1

DH(C(i, j),C(i+1,k)

)−→ min (2.7)

45

Page 47: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

La ecuación (2.7) resume la idea esencial del cálculo de la evolución del centroide de cadazona de comportamiento similar en el tiempo, donde C(i, j) identifica el centroide j en el instantede tiempo i, DH es la distancia de Hausdorff, que calcula la similitud entre los centroides(curvas tangentes) de dos intervalos contiguos de tiempo, n es la cantidad de campos vectorialesestacionarios analizados ymi es la cantidad de zonas de comportamiento similar encontradas en elcampo vectorial estacionario correspondiente al instante de tiempo i.

El algoritmo para calcular la evolución del elemento más representativo de las zonas decomportamiento similar tiene dos etapas bien definidas. La primera etapa, de agrupamiento, esla encargada de extraer las zonas de comportamiento similar en cada instante de tiempo utilizandoel algoritmo NKmeans. La segunda etapa es la encargada de construir la evolución a partir de laecuación (2.7). Esta etapa se caracteriza por tener bajos tiempos de ejecución, porque el número deevaluaciones de la función de distancia disminuye considerablemente al tratarse solamente de loselementos más representativos de cada zona.

En el algoritmo (2.2) la función ComputingEvolutionCentroid recibe como parámetro el campovectorial V F dependiente del tiempo y un número entero M, que representa la cantidad de vecesque se ejecutará el algoritmo kmeans en cada instante de tiempo.

El arreglo G contiene todos los resultados del algoritmo de agrupamiento ejecutado en cadainstante de tiempo. El número de la columna de G indica el instante de tiempo y la cantidad defilas de cada columna se corresponde con la cantidad de grupos encontrados en ese instante detiempo. Evolution es un arreglo de listas, donde cada elemento representa la evolución del centroidede una zona determinada en el tiempo. En el arreglo D se almacenan las distancias del elementoFirstElement (centroide de un grupo determinado) a cada uno en los elementos más representativosdel instante de tiempo siguiente. Por último, la función makeEvolution inserta en la posición j dela lista que se encuentra en la posición i del arreglo Evolution el índice del centroide que menordistancia de Hausdorff produjo.

46

Page 48: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Algoritmo 2.2 Algoritmo que representa el cálculo de la evolución del elemento más representativode un campo vectorial dependiente del tiempo.

1 Entradas:

2 VF: Campo vectorial dependiente del tiempo

3 M: cantidad de veces a ejecutar kmeans

4 Salida:

5 Evolution: lista de evolución de los

6 entroides en el tiempo

7 ComputingEvolutionCentroid(VF , M)

8 {

9 inicializar G[N][]

10 inicializar Evolution []

1112 for (i = 1..M) do

13 G[i] = NKmeans(VF, i, M)

1415 for (i = 1..G[1]. size ()) do

16 Evolution[i] = G[1][i]. centroid ()

1718 for (i = 1.. Evolution.size ()) do

19 {

20 FirstNode = Evolution[i]

21 for (j = i+1..N) do

22 {

23 for (k = 1..G[j].size ()) do

24 D[k] = DH(FirstNode , G[j][k]. centroid ())

25 minDistanceNodeIndex = min(D)

26 Evolution[i]. makeEvolution(j, minDistanceNodeIndex)

27 FirstNode = G[j][ minDistanceNodeIndex]

28 }

29 }

30 return Evolution

31 }

47

Page 49: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 2.5: Resultado de la visualización de la evolución del elemento más representativo de unjuego de datos con 8 instantes de tiempo. En este caso el número de grupos oscila entre 8 y 10aproximadamente.

En la figura (2.5) se muestran visualmente los resultados obtenidos por el algoritmoComputingEvolutionCentroid, donde la evolución de las zonas se representa mediante la escalade colores que se muestra en la figura (2.6).

48

Page 50: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 2.6: Escala de colores que representa la evolución del elemento más representativo de unazona de comportamiento similar en fluidos dependientes del tiempo

2.3.2.2. VISUALIZACIÓN DEL

GRAFO DE EVOLUCIÓN DE LAS ZONAS DE COMPORTAMIENTO SIMILAR EN EL

FLUIDO

La forma de detectar y visualizar la evolución de las zonas de comportamiento similar encampos vectoriales dependientes del tiempo definida en el epígrafe (2.3.2.1) no contempla lasbifurcaciones que pueden ocurrir en una región determinada. Se entiende por bifurcación a laseparación de una región de comportamiento similar en varias regiones, en otras palabras, unabifurcación ocurre cuando las curvas tangentes de una región se separan y pasan a formar parte delas poblaciones de curvas de otras regiones.

Los puntos críticos del fluido y las separatrices que los conectan determinan un conjuntode bifurcaciones globales y locales a lo largo del tiempo sobre el dominio vectorial. Talesbifurcaciones producen zonas de comportamiento diferente, y por tanto es necesario crear unaestrategia para detectarlas.

Los tipos de bifurcaciones posibles son:

Al ocurrir una bifurcación sobre una zona de comportamiento similar K ∈ Vi, en el instantede tiempo i las streamlines de K se convierten en elementos de las zonas del campo vectorialVi+1 que se corresponde con el campo estacionario asociado al instante de tiempo i+1.

Un conjunto de zonas de comportamiento similar del campo vectorial estacionario Vi

correspondiente al instante de tiempo i pueden fundirse en una única zonaK ∈Vi+1del campovectorial estacionario correspondiente al instante de tiempo i+1.

Puede establecerse una correspondencia de uno−uno entre una zona del instante de tiempoi y otra del instante de tiempo i+1.

Pueden producirse combinaciones de las tres anteriores.

Es importante aclarar que las zonas de comportamiento similar K ∈ Vi contienen a lo sumo unpunto crítico, ya que estos se encuentran siempre en las fronteras de las zonas y son conectadospor las separatrices, las cuales delimitan exactamente la frontera entre dos zonas de diferentecomportamiento.

49

Page 51: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 2.7: Grafo de representación de la evolución de zonas de comportamiento similar en unfluido dependiente del tiempo.

En la figura (2.7) se pueden observar los diferentes tipos de eventos que ocurren durante elproceso de análisis de la evolución de las zonas de comportamiento similar. En el instante detiempo t = 0 los dos primeros nodos de color rojo se unen y forman un nodo de color verde enel instante de tiempo t = 1, mientras que el último nodo de color rojo del instante de tiempo t = 0se divide para formar el nodo de color verde y el segundo nodo de color blanco del instante t = 1.En el instante de tiempo t = 1,el último nodo de color blanco se corresponde uno a uno con el nodoazul del instante de tiempo t = 2, el cual se divide en el instante de tiempo t = 3 para poblar lasregiones representadas con el color amarillo.

Las bifurcaciones se logran identificar a través de un proceso de retroalimentación, en el cualse calcula la evolución en dos direcciones, hacia adelante y hacia atrás (respecto al tiempo). Elproceso responsable de calcular la evolución de una zona de comportamiento similar en el tiempoconstruye el grafo por etapas (de izquierda a derecha). Cada etapa representa un instante de tiempodiferente y los nodos de esa etapa representan las zonas de comportamiento similar encontradaspor el algoritmo de agrupamiento en el instante de tiempo correspondiente.

El grafo que se obtiene durante el cálculo de la evolución es dirigido y brinda mayorinformación que la solución que se relaciona con la visualización del elemento más representativode una zona determinada. Este grafo brinda la posibilidad de mostrar a los especialistas el posibledesplazamiento de una región determinada en el tiempo, donde las partículas se mueven de manerasimilar.

50

Page 52: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Algoritmo 2.3 Algoritmo ComputingEvolutionGraphForward: empleado para calcular el grafo querepresenta la evolución de las zonas de comportamiento similar en campos vectoriales dependientesdel tiempo hacia delante.

1 Entrada:

2 VF: Campo vectorial dependiente del tiempo

3 M: Cantidad de veces a ejecutar kmeans

4 ref G: referencia a una lista bidimensional

5 Salidas:

6 EvolutionGraph: Grafo que representa

7 la evolución de las zonas de

8 comportamiento similar

9 G: Lista de agrupamientos obtenidas por NKmeans

1011 ComputingEvolutionGraphForward(VF , M, ref G)

12 {

13 inicializar EvolutionGraph []

1415 for (i = 1..N) do

16 G[i] = NKmeans(VF, i, M)

1718 for (i = 1..G[1]. size ()) do

19 EvolutionGraph[i] = G[1][i]

2021 for (i = 1.. EvolutionGraph.size ()) do

22 {

23 FirstNode = EvolutionGraph[i]

24 for (j = i+1..N) do

25 {

26 for (k = 1..G[j].size ()) do

27 D[k] = DH(FirstNode , G[j][k])

28 minDistanceNodeIndex = min(D)

29 EvolutionGraph[i]. makeEvolution(j, minDistanceNodeIndex)

30 FirstNode = G[j][ minDistanceNodeIndex]

31 }

32 }

33 return EvolutionGraph

34 }

51

Page 53: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Algoritmo 2.4 Algoritmo ComputingEvolutionGraphBackward: empleado para calcular lasposibles bifurcaciones ocurridas en las zonas de comportamiento similar de un instante de tiempoi al i+1.

1 Entrada:

2 ref EvolutionGraph: Una referencia al grafo de evolución

3 G: lista de agrupamientos

4 Salida:

5 EvolutionGraph: Evolución completada

6 ComputingEvolutionGraphBackward(ref EvolutionGraph , G)

7 {

8 for (tree : EvolutionGraph)

9 for(node : tree)

10 if(!node.isRoot ())

11 {

12 i = node.getTimeStep ()

13 j = node.getClusterIndex ()

14 Zona = G[i][j]

15 TimeStep = G[i-1]

16 for (k = 1.. TimeStep.size ()) do

17 D[k] = DH(Zona , TimeStep[k])

18 minDistanceNodeIndex = min(D)

19 connectAsParent(TimeStep[minDistanceNodeIndex],node)

20 }

21 }

52

Page 54: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Algoritmo 2.5 Algoritmo ComputingEvolutionGraph: empleado para ejecutar las dos fases delalgoritmo y finalmente retornar la evolución.

1 Entrada:

2 VF: Campo vectorial dependiente

3 del tiempo

4 M: Cantidad de veces a ejecutar kmeans

5 Salida:

6 EvolutionGraph: Grafo de evolución completo

7 ComputingEvolutionGraph(VF, M)

8 {

9 inicializar G[][]

10 EvolutionGraph = ComputingEvolutionGraphForward(VF , M, ref G)

11 ComputingEvolutionGraphBackward(ref EvolutionGraph , G)

12 return EvolutionGraph

13 }

El algoritmo ComputingEvolutionGraph es el encargado de extraer las zonas decomportamiento similar en campos vectoriales dependientes del tiempo y de calcular la evoluciónde las zonas en el tiempo. ComputingEvolutionGraph está compuesto por las funcionesComputingEvolutionGraphForward y ComputingEvolutionGraphBackward.

ComputingEvolutionGraphForward: Esta función es la encargada de ejecutar el agrupamientoen cada instante de tiempo. Esta función ejecuta el algoritmo NKmeans en cada instante detiempo y construye una lista de agrupamientos G, donde G [i] posee los m grupos obtenidosen el instante de tiempo i. El algoritmo descrito por esta función parte de una lista de árbolesdenominada EvolutionGraph. Inicialmente cada posición de EvolutionGraph contiene la raíz delárbol correspondiente. Cada árbol tiene como raíz una zona del primer instante de tiempo delcampo vectorial no estacionario. Empezando por la raíz de cada árbol se itera por todos los gruposbuscando cuál es el elemento del siguiente instante de tiempo que posee menor distancia hastael. Al finalizar esta función queda confeccionado el arreglo EvolutionGraph y la lista G. Hastael momento, ningún nodo perteneciente a los árboles de EvolutionGraph posee nodos hermanos,por lo que cada árbol puede interpretarse como una lista en si o un árbol que solo tiene relacionespadre−hi jo.

ComputingEvolutionGraphBackward: Debido a que la distancia de Hausdorff no es simétricaexiste la necesidad de realizar un proceso de retroalimentación para determinar las posiblesbifurcaciones ocurridas en el tiempo. Este algoritmo toma la lista de arboles generada porComputingEvolutionGraphForward y para cada nodo que no sea raíz, extrae el instante de tiempo(i) en que se generó y el índice ( j) de la zona que representa en ese instante de tiempo. Estos

53

Page 55: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

valores (i, j) son utilizados para extraer la zona de comportamiento similar G [i] [ j] y así encontraren el instante de tiempo i−1 el nodo con menor distancia.

2.4. HERRAMIENTAS PARA LA EXPLORACIÓN VISUAL DE

CAMPOS VECTORIALES

La visualización en general es una tarea que requiere de equipos con grandes capacidades deprocesamiento y de algoritmos con implementaciones eficientes. Por lo general, las aplicacionescreadas para la visualización y análisis de campos vectoriales son altas consumidoras de recursos,tanto de CPU como de GPU.

El software disponible para la visualización científica puede dividirse en dos grandes grupos,aplicaciones y bibliotecas. Una biblioteca es un tipo especial de software que implementaun número determinado de algoritmos y estructuras de datos, los cuales están disponibles acualquier aplicación que se enlace con la biblioteca. De esta manera se aumenta la reusabilidadde las funciones implementadas y se divide el desarrollo de aplicaciones complejas en partesmás pequeñas, que pueden ser implementadas por equipos independientes. Es común que lasaplicaciones también brinden sus propias bibliotecas, para su uso por otras aplicaciones.

2.4.1. BIBLIOTECAS

Aunque no clasifican exactamente como software de visualización científica, tres de lasbibliotecas más utilizadas en la mayoría de los sistemas de visualización son OpenGL (por las

siglas en inglés de Open Graphics Library), VTK y OpenInventor.

OPENGL

OpenGL es una especificación estándar que define una API (por las siglas en inglés de

Application Programming Interface) multilenguaje y multiplataforma para escribir aplicacionesque generan gráficos 2D y 3D. Su nombre proviene del inglés Open Graphics Library, cuyatraducción es biblioteca abierta de gráficos (o mejor, libre, teniendo en cuenta su política de

licencias). Esta API fue diseñada para ser usada con los lenguajes de programación C y C++,pero también existen interfaces para otros lenguajes como Java, Tcl, Ada, Fortran y Python.

OpenGL brinda a los programadores un pequeño conjunto de primitivas geométricas (puntos,líneas, polígonos, imágenes y mapas de bits). También ofrece un conjunto de comandos, quepermiten la especificación de objetos geométricos en dos y tres dimensiones, utilizando lasprimitivas anteriores, junto con los comandos que controlan como esos objetos son representados.

La especificación OpenGL es independiente del sistema operativo y del sistema gestor deventanas. Utiliza los recursos nativos disponibles para la manipulación de ventanas y eventos, las

54

Page 56: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

operaciones con mapas de colores, etc. Además es una biblioteca de bajo nivel para programadoresexpertos, lo cual dificulta un poco el aprendizaje de la misma.

VTK

VTK es una biblioteca de código abierto, distribuida bajo licencia GPL (por las siglas

en inglés de General Public License). Está escrita completamente en C++ y se encuentradisponible en múltiples plataformas (Linux, Mac, Windows), lo que permite escribir aplicacionesmultiplataforma.

La biblioteca tiene un tamaño aproximado de 700 clases, y contiene un gran número dealgoritmos para la visualización y el procesamiento de imágenes 2D y 3D. Aunque está escritaen C++, puede ser utilizada desde otros lenguajes de programación, a través de los llamadosenvoltorios (wrappers).

Un envoltorio (en este caso) es una biblioteca que proporciona una interfaz para el lenguaje Xy accede a la biblioteca de clases C++. Cada llamada a una función F en el lenguaje X se traduceen una llamada a la función F de la biblioteca C++ mediante el envoltorio. Actualmente existenenvoltorios disponibles para Tcl/Tk, Java y Python.

VTK proporciona una variedad de representaciones de datos, incluyendo conjuntos de puntos,datos poligonales, imágenes, volúmenes, y mallas estructuradas, rectilíneas y no estructuradas.Contiene también diversos mecanismos para intercambiar datos con otras aplicaciones en diversosformatos. VTK dispone asimismo de cientos de filtros para el procesamiento de datos, que varíandesde convoluciones a imágenes, hasta la triangulación de Delauny. Es importante destacar queVTK es una de las bibliotecas de alto nivel de visualización que más se emplea en la comunidadcientífica hoy día debido a su facilidad para describir los datos y operar sobre ellos.

OPENINVENTOR

OpenInventor es una biblioteca gráfica orientada a objetos que facilita la programación gráfica.Está basada en la especificación de OpenGL y permite crear gráficos interactivos y acceder alhardware gráfico de la computadora con el menor esfuerzo posible. La biblioteca funciona comoun conjunto de bloques que se aplican a un árbol de elementos para crear una escena gráfica.También permite la extensión y modificación de la misma de manera sencilla.

OpenInventor ofrece la economía de cualquier sistema orientado a objetos y permite simplificarla creación de aplicaciones. Una de las características más impresionantes de esta biblioteca es quepermite copiar y pegar objetos gráficos en las escenas en tiempo real.

En la actualidad existe gran cantidad de herramientas propietarias de visualización queimplementan las funcionalidades gráficas sobre OpenInventor. Dentro de ellos tenemos MeVisLab,Avizo y Amira, tres ejemplares de la visualización que lideran hoy día el mercado de lacomputación gráfica.

55

Page 57: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

2.4.2. APLICACIONES

Durante la última década se han establecido potentes sistemas en el campo de la visualizacióncientífica. Entre ellos se destacan notablemente: OpenDX, Amira y Mayavi. Estos sistemas sonconocidos como ambientes modulares de visualización, puesto que las aplicaciones se componenmediante la unión de diversos módulos en una red, empleando un paradigma de programaciónvisual.

La mayoría de los sistemas de visualización actuales soportan este esquema, y están diseñadospara permitir que los usuarios con limitados conocimientos de programación sean capaces deexplorar interactivamente un conjunto de datos a través de su representación visual. Casi todosproporcionan un conjunto de módulos básicos de visualización, que pueden interconectarse entre síen una red para ejecutar una tarea de visualización. Este nivel de programación es el más utilizadopor la mayoría de los usuarios. Sin embargo, también existe la posibilidad de desarrollar nuevosmódulos en un nivel de programación más bajo (utilizando lenguajes como C o C++), que tambiénson incorporados al sistema.

De los sistemas relacionados arriba solo OpenDX y Mayavi son de código abierto, el resto sonsistemas comerciales cuyo costo es prohibitivo para algunas instituciones con escasos recursos.NAG Ltd, el distribuidor de Iris Explorer, rechazó incluso una solicitud de compra del sistema,al conocer que sería utilizado en una universidad cubana. La razón alegada fue el embargoestadounidense contra Cuba. A continuación describimos brevemente las posibilidades del sistemaOpenDX, que ofrece aproximadamente las mismas funcionalidades que los otros, y es el que seutiliza desde hace algunos años en nuestro grupo de investigación.

OPENDX

OpenDX es una aplicación y un paquete de desarrollo de software de código abierto parala visualización de datos científicos, especialmente los adquiridos a partir de observaciones ysimulaciones. OpenDX apareció en mayo de 1999 cuando IBM convirtió su sistema comercial devisualización, IBM Visualization Data Explorer (conocido como “DX”), en un software de códigoabierto. En la actualidad, científicos, ingenieros y analistas de negocios de todo el mundo, utilizanOpenDX para generar imágenes y animaciones a partir de sus investigaciones.

Después de la liberación del código, OpenDX se ha portado a distintos tipos de plataformasLinux y Free BSD, además de ser compilado para los sistemas UNIX comerciales donde DXsiempre corrió, tales como SGI, HP, Sun y Aix. De igual manera, existe una versión comercialpara plataformas Windows, aunque requiere la instalación adicional de software especial.

OpenDX es un sistema de visualización de propósito general, que permite leer datos de distintasfuentes de una manera flexible y amigable. Aun cuando la organización de los datos puede ser muydiferente para cada fuente, OpenDX ofrece una manera de leer casi cualquier tipo de datos a travéssu herramienta conocida como Data Prompter.

56

Page 58: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

OpenDX ofrece una interfaz gráfica que permite crear programas de manera visual, mediante lainterconexión de bloques o módulos, llamados redes. Por otro lado, OpenDX contiene un lenguajescript para crear programas de visualización. Un programa visual es convertido a este lenguajeantes de ser guardado en disco.

Debido a la generalidad de su modelo de datos y a la flexibilidad de la programación visual,OpenDX no está optimizado para alguna rama de la ciencia en particular. Por lo tanto, mientras quees posible utilizar efectivamente OpenDX para visualizar la salida de simulaciones, mediciones,experimentos o cualquier dato generado por computadora, no tiene funcionalidades optimizadaspara un área de estudio particular. Por ejemplo, no es posible realizar directamente operacionesvisuales de dinámica de fluidos, aunque se pueden adicionar estas operaciones a través de laconstrucción de módulos especializados.

AMIRA

Amira es un sistema de visualización 3D basado en redes y componentes desarrollado por elZIB. Este software escrito sobre la biblioteca gráfica OpenInventor permite el análisis y modelaciónde datos de manera sencilla. Posee una interfaz amigable que ayuda a visualizar datos provenientesdesde diferentes ramas de investigación como la medicina, biología, química y la mecánica defluidos.

Posee un numeroso grupo de técnicas que facilitan la exploración directa de los datos en 3Dgenerando visualizaciones basadas en superficies, polígonos, líneas, puntos, volúmenes, etc.

Dentro de las principales ventajas de este sistema se encuentra:

Multi-propósito – Brinda sobre la misma plataforma la posibilidad de modelar, analizar lainformación

Flexibilidad – Posee un conjunto de opciones que permiten configurar el entorno de trabajo

Eficiencia – Los algoritmos implementados explotan al máximo las capacidades de hardware

Fácil de usar – Posee un ambiente gráfico amigable y documentación precisa

Manejo de grandes volúmenes de datos- Permite el análisis de grandes volúmenes de datos.

Extensible – Puede ser extendido a través de la creación de módulos en C++

MAYAVI

Mayavi es otro sistema de visualización basado en software libre. Este sistema ha cobradomucho auge en los últimos años debido a las facilidades de extensión que posee.

Mayavi es un sistema desarrollado sobre Python y TVTK, esta última una biblioteca queactúa como envoltorio de la biblioteca VTK para el lenguaje Python. Este sistema, basado en

57

Page 59: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

software libre, genera visualizaciones tan fiables como cualquier otro sistema de visualizaciónbajo distribuciones propietarias y brinda la posibilidad de integrarse a numerosas bibliotecas deprogramación escritas en python como lo son, numpy, Scipy, Qt, Traits, etc.

Mayavi también puede usarse como un plugin, que ofrece la posibilidad de ser usado enlas escenas de cualquier programa Python y realizar una visualización específica. Esta últimaherramienta la brinda a través de una biblioteca llamada mlab.

Mayavi involucra una serie de filtros y de manera parecida a los sistemas de visualizaciónmencionados con anterioridad que construyen el flujo de trabajo sobre una red de componentes. Eneste sistema los datos se cargan y se crea un árbol de componentes que describe el orden de losfiltros y módulos aplicados sobre los datos.

La principal ventaja que posee este sistema es que puede ser utilizado y extendido sinrestricciones de licencias. La aplicación posee una interfaz amigable para el usuario e implementalos mismos filtros y módulos que VTK. En la actualidad ha desplazado varias aplicacionespropietarias debido a su facilidad de uso y calidad de los resultados obtenidos.

2.5. CONCLUSIONES PARCIALES

La aplicación de algoritmos de agrupamiento sobre campos vectoriales permite extraer laszonas de comportamiento similar en campos vectoriales dependientes de tiempo.

La streamline es el elemento más significativo para el agrupamiento de un campo vectorialestacionario, debido a su capacidad de representar el comportamiento global del campovectorial.

La distancia de Hausdorff resulta adecuada para la extracción de zonas de comportamientosimilar en fluidos dependientes del tiempo.

Se desarrolló un nuevo algoritmo para determinar la evolución de zonas de comportamientosimilar en fluidos 3D no estacionarios, empleando metáforas visuales para una exploracióneficaz.

Representar la evolución de las zonas de comportamiento similar a través de un grafoposibilita una mejor interpretación de los resultados y brinda diversas posibilidades deinteracción.

58

Page 60: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Capítulo 3

FLOWVISTOOLS: HERRAMIENTAS PARA

LA EXPLORACIÓN DE CAMPOS

VECTORIALES

Los sistemas de visualización empleados hoy día en el análisis de campos vectoriales no poseenalgoritmos para la extracción de zonas de comportamiento similar. En este trabajo se definen unesquema de trabajo y un algoritmo para determinar las zonas de comportamiento similar en fluidos3D no estacionarios, y un procedimiento para calcular la evolución en el tiempo de las zonasde comportamiento similar. Estos algoritmos fueron implementados y validados en el marco deesta investigación, y como resultado se obtuvieron una biblioteca y un conjunto de herramientas(FlowVisTools), que representan el principal aporte práctico de esta investigación. Los módulosy programas fueron desarrollados en forma de componentes reutilizables, empleando las buenasprácticas de ingeniería de software, de manera tal que pueden ser fácilmente extendidos e integradosen otros ambientes y sistemas de visualización.

FlowVisTools (por las siglas en inglés de Flow Visualization Tools) es el nombre del paquetede visualización que se elaboró para dar solución al problema propuesto en este trabajo. Dentro delpaquete FlowVisTools se pueden encontrar los siguientes módulos:

Módulo para el cálculo y visualización de las curvas tangentes de un campo vectorial 3Destacionario (streamline_viewer, vtk_streamline_viewer)

Módulo para la extracción y visualización de las zonas de comportamiento similar en fluidosestacionarios (steady_flow_clustering)

Módulo para la extracción y visualización de la evolución de zonas de comportamientosimilar en fluidos dependientes del tiempo (tracking_evolution, vtk_tracking_evolution)

Módulo para la visualización de zonas de comportamiento similar en fluidos dependientesdel tiempo sobre un árbol (tracking_evolution_graph)

59

Page 61: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Las herramientas mencionadas anteriormente se implementaron de forma modular, lo cualposibilita la extensión y reutilización de las mismas. Cada herramienta se diseñó con el objetivode explotar al máximo las capacidades del hardware del equipo de cómputo en que se ejecuten. Enla mayoría de los casos se utilizan implementaciones en paralelo a través de las bibliotecas MPIy OpenMP. Además, fueron confeccionadas siguiendo el paradigma de Programación Orientada aObjetos, utilizando el lenguaje de programación C++.

El paquete de herramientas FlowVisTools se encuentra desarrollado independiente al sistemade visualización que se emplea para mostrar los resultados, ya que solo utiliza funciones propiasdel kernel del sistema operativo. Esta característica le permite a cada módulo de FlowVisTool serutilizado por otros sistemas de visualización.

3.1. DESCRIPCIÓN DE LAS HERRAMIENTAS

El paquete de herramientas FlowVisTools, confeccionado para el análisis y exploración visualde zonas de comportamiento similar en fluidos dependientes del tiempo está elaborado bajo lostérminos de licencia GNU GPL v.2 (Stallman, 1998). Cada uno de los módulos que integran elpaquete se encuentra implementado en su totalidad usando el lenguaje de programación C++, elcual permite explotar en gran medida las capacidades de cómputo de la CPU y la GPU de formasimultánea.

Las compilaciones de cada módulo se realizaron bajo una arquitectura de 64-bits dedireccionado, sobre el sistema operativo Ubuntu 14.04 (Petersen, 2014). Además del sistemaoperativo se utilizaron otras bibliotecas para agilizar el proceso tanto de cómputo como devisualización. Los algoritmos de extracción de zonas de comportamiento similar se implementaronsobre la biblioteca de programación en paralelo OpenMP y MPI para la generación de lasstreamlines, donde la dirección del paso de integración se ejecutó en dos hilos del procesador yla matriz de distancia empleada por el algoritmo de agrupamiento fue dirigida por partes hacia losnúcleos de forma parelela.

Para visualizar los resultados se utilizó la biblioteca de bajo nivel OpenGL, la cual es unaespecificación que brinda un conjunto de funciones que permiten explotar el hardware gráfico de losequipos de cómputo como una máquina de estados. Además, se utiliza la biblioteca de visualizaciónVTK (por las siglas en inglés de Visualization Toolkit) para mostrar los resultados de una maneramás comprensiva y configurable.

Por otra parte, se emplearon algunos componentes de Qt para mejorar la interacción conel módulo de exploración y visualización de las zonas de comportamiento similar en fluidosdependientes del tiempo.

El 80% del paquete FlowVisTools fue implementado desde la base en lenguaje C++. De latotalidad, un 10% fue implementado utilizando funciones pertenecientes a la API de OpenGL para

60

Page 62: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

completar un 90% de la solución. Y finalmente se implementó otro 10% a través de OpenMP,Boost, MPI, VTK y Coin3D.

Los requerimientos de software para compilar y/o extender los módulos del paqueteFlowVisTools son los siquientes:

streamline_viewer: Compilador de C++, OpenGL y Boost

vtk_streamline_viewer: Compilador de C++, CMake, VTK

steady_flow_clustering: Compilador de C++, OpenGL y Boost

tracking_evolution: Compilador de C++, OpenGL, Boost y Coin3D

vtk_tracking_evolution: Compilador de C++, CMake, VTK y Boost

tracking_evolution_tree: Compilador de C++, OpenGL, Qt

Aunque las capacidades de cómputo no definen la calidad de los resultados arrojados por lasherramientas, si se vuelven un parámetro indispensable para medir la eficiencia de los algoritmos.

Los resultados que se muestran en el epígrafe (3.4) fueron obtenidos en una computadora deescritorio con un procesador DualCore Intel Core 2 Duo E7300, a 1600 MHz; con 4 GB de memoriaRAM, DDR2 SDRAM, a 333 MHz y una capacidad de almacenamiento de 320 GB de disco duro.Además, el equipo cuenta con una tarjeta gráfica nVidia-GForce 9400 GT que permite renderizargran cantidad de información en cortos tiempos de GPU. El hecho de que las prestaciones de esteequipo de cómputo no son las mejores, solo influye en el tiempo de obtención de los resultados,pero no en la calidad de los mismos.

3.1.1. streamline_viewer:

streamline_viewer es una herramienta de propósito específico, que calcula y visualiza lasstreamlines de un campo vectorial 3D. Esta herramienta no posee una interfaz gráfica de usuarioy debe ser parametrizada desde la consola para lograr una visualización adecuada. La forma deparametrización de la herramienta es sencilla y solo requiere de conocimientos básicos de sistemasoperativos, ya que la misma se brinda como un comando del sistema operativo Ubuntu.

La ejecución apropiada de esta herramienta necesita de los siguientes parámetros:streamline_viewer nombre_archivo cantidad_streamlines tipo_semilla

donde nombre_archivo se corresponde con cualquier archivo en formato AmiraMesh (verepígrafe 3.2.1). El parámetro cantidad_streamlines se refiere al número de líneas de fluido quese quieren calcular y tipo_semilla es un parámetro que toma los valores 0 o 1, donde 0 estableceun patrón aleatorio para calcular la posición inicial de la partícula y 1 se basa en los mapas deprominencia, creando así las streamlines en los lugares donde la curvatura es mayor.

61

Page 63: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Cuando se generan las streamlines del fluido a partir de los mapas de prominencia es necesariocalcular con anterioridad el campo escalar de curvatura asociado a dicho campo vectorial yposteriormente seleccionar los puntos que sobrepasan la media de los valores de curvatura.

Una vez generadas las streamlines usando mapas de prominencia quedan regiones por las cualesno pasan líneas de fluido. Es importante aclarar que esta técnica es útil para visualizar la vecindadde los puntos críticos del campo vectorial, debido a que son las regiones donde la curvatura tomalos mayores valores.

a)

b)

Figura 3.1: Resultados de la aplicación con los siguientes parámetros: streamline_viewerflow_t4048.am 100 0. a) Cada streamline se dibuja con el color negro. b) Cada streamline se dibujacon el valor de curvatura que se calcula en cada vértice de la misma

En la figura (3.1) se muestran las líneas de fluido del campo vectorial correspondiente al instantede tiempo 102 del juego de datos especificado en el epígrafe (3.2) y se utiliza la generación aleatoriapara determinar el punto semilla de cada curva. En la figura (3.1) se evidencia claramente elcomportamiento de las líneas de fluido y del valor de la curvatura en cada punto de las mismas.

3.1.2. vtk_streamline_viewer:

Al igual que streamline_viewer esta herramienta permite visualizar las líneas de fluido de uncampo vectorial. La forma de utilizar esta herramienta es a través de la consola, como un comando

62

Page 64: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Unix. Los parámetros requeridos para su ejecución desde la terminal son los mismos que lospresentados en la herramienta descrita en el epígrafe (3.1.1).

Esta herramienta se diferencia de su homóloga streamline_viewer en que las líneas de fluidoson visualizadas como tubos, el cual brinda una mejor comprensión de los datos. Además se utilizala biblioteca VTK para facilitar la interacción con el hardware gráfico de la máquina.

a)

b)

Figura 3.2: Resultados de la aplicación con los siguientes parámetros: vtk_streamline_viewerflow_t4048.am 100 0. a) Cada streamline se dibuja con el color negro. b) Cada streamline se dibujacon el grado de vorticidad que se calcula en cada vértice de la misma

3.1.3. steady_flow_clustering:

Esta herramienta es la encargada de calcular y visualizar el agrupamiento, a través deuna función de distancia determinada sobre un conjunto de streamlines. La herramienta estáimplementada sobre las bases del módulo streamline_viewer, ya que el primer paso delagrupamiento es extraer las líneas de fluido que conformarán el conjunto de datos a agrupar, en estecaso las streamlines del fluido. La herramienta implementa el algoritmo NKmeans( Ver algoritmo

2.1) y posee tres etapas bien delimitadas con un orden que no puede ser alterado:

1. Generar un conjunto de streamlines que describan globalmente el campo vectorial

63

Page 65: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

2. Aplicar el algoritmoNKmeans al resultado obtenido en el paso 1

3. Codificar mediante una escala de colores cada zona de comportamiento similar encontradapor el algoritmo NKmeans

En la tercera etapa se configura el resultado del agrupamiento para facilitar el proceso deexploración visual de los resultados. Es importante decir que la escala de colores se calculaautomáticamente y se genera siempre una lista de colores diferentes debido a que se utiliza unainicialización aleatoria en el algoritmo.

steady_flow_clustering se brinda como un comando del sistema operativo Unix y se utiliza através de una terminal. La herramienta espera como argumentos el nombre del archivo a agrupar, eltipo de distancia a utilizar y la cantidad de veces que se quiere ejecutar el algoritmo kmeans. Unacorrecta ejecución de esta herramienta puede ser de la siguiente manera:

steady_flow_clustering nombre_de_archivo distancia nkmeans

donde nombre_de_archivo se refiere a la dirección del archivo de datos, distancia es ladistancia interna que utilizará el algoritmo kmeans y puede tomar los siguientes valores H, M,C. Utilizar H como valor de la distancia implica utilizar la distancia de Hausdorff, M utilizar ladistancia media y C utilizar la distancia de los puntos más cercanos. Por último nkmeans nkmeans

establece el número de veces que se ejecuta el algoritmo kmeans en la llamada a la funciónNKmeans.

a) b)

Figura 3.3: Visualización de 8 grupos de streamlines pertenecientes al instante de tiempo 9 deldataset. a) representa la imágen desde el punto de vista de la cámara frontal. b) representa la imágendesde el punto de vista de la cámara trasera.

64

Page 66: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

La figura (3.3) se obtiene al ejecutar el comando steady_flow_clustering de la siguientemanera:

steady_flow_clustering /home/roves/Data/flow_t5089.am 650 15

3.1.4. tracking_evolution:

El comando tracking_evolution hace uso de la herramienta steady_flow_clustering paracalcular el agrupamiento en cada instante de tiempo. Una vez agrupados todos los instantesde tiempo, se calcula la evolución de cada grupo en el tiempo, y se extrae el elemento másrepresentativo (centroide) de cada zona de comportamiento similar en cada instante de tiempo pararepresentar la evolución de las zonas de comportamiento similar.

Figura 3.4: Evolución de las zonas de comportamiento similar en un fluido dependiente del tiempo(8 grupos, 10 instantes de tiempo)

65

Page 67: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 3.5: Escala de colores que representa la evolución del elemento más representativo de unazona de comportamiento similar en fluido dependientes del tiempo

La forma de ejecutar este comando desde la terminal es sencilla, ya que solo requiere conocerel directorio donde se encuentran los archivos que contienen los campos vectoriales asociados acada instante de tiempo, y la cantidad de grupos a crear:

tracking_evolution /data 10

produce la salida mostrada en la figura (3.4). La evolución del elemento más representativo decada zona en el tiempo se almacena en un fichero con la estructura descrita en el epígrafe (3.2.2).

Esta herramienta acepta solamente dos parámetros. El primer parámetro describe el caminoabsoluto donde de una secuencia de campos vectoriales estacionarios. Los archivos en estedirectorio deben ser nombrados uniformemente y el intervalo de tiempo que representa cada archivodebe estar concatenado al nombre del mismo.

Ejemplo: flow_0576.am flow_0577.am flow_0578.am

El segundo parámetro de la herramienta identifica la cantidad de instantes de tiempo que sequieren tener en cuenta para calcular la evolución. Para seleccionar los elementos se separa la partenumérica del nombre de cada archivo del nombre y se escogen las n primeras.

La figura representa en visualizaciones separadas la ejecución del comando sobre 8 instantes detiempo. En cada ventana se muestra la evolución de cada uno de los elementos más representativosde las zonas de comportamiento similar encontradas y el color define la evolución en el tiempo. Verfigura (3.5).

3.1.5. vtk_tracking_evolution:

Esta herramienta es la encargada de visualizar la evolución de las zonas de comportamientosimilar a partir de los datos generados por la herramienta descrita en el epígrafe (3.1.4). En lafigura (3.4) se presenta una visualización generada por la herramienta.

Para generar el resultado mostrado en la figura (3.4) se utilizó la salida del comando:tracking_evolution /data 10

la cual genera un directorio con 10 archivos. Cada uno de esos archivos contiene las líneas defluido que actúan como los centroides seleccionados para representar la evolución.

La forma de ejecutar este comando es la siguiente:vtk_tracking_evolution /evolucion

66

Page 68: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

donde evolucion es el directorio que contiene los archivos generados por el comandotracking_evolution.

3.1.6. tracking_evolution_graph:

Esta herramienta, a diferencia de las descritas en los epígrafes (3.1.1), (3.1.2), (3.1.3), (3.1.4) y(3.1.5) cuenta con una interfaz gráfica, que permite visualizar los resultados en forma de grafo.

La herramienta permite calcular la evolución de los grupos en el tiempo de una manera másamigable que la herramienta tracking_evolution y permite visualizar el comportamiento de cadazona de comportamiento similar en el tiempo, así como las streamlines de cada instante de tiempo.

Al utilizar esta herramienta se pueden observar las diferentes bifurcaciones que puede sufriruna región determinada en el tiempo, así como interactuar sobre la misma para observar el área queinvolucra una región de comportamiento similar deseada.

Esta herramienta soporta las siguientes interacciones básicas de mouse y teclado:

1. Al pulsar el click izquierdo del mouse sobre un nodo, se visualizan las streamlines de laregión de comportamiento similar que se corresponde con ese nodo. En esta visualizacióntodas las líneas de fluido poseen el mismo color con que está dibujado el nodo en el grafo.

2. Si se presiona la tecla Ctrl y se seleccionan varios nodos sin liberar dicha tecla, se muestranlas regiones de comportamiento similar asociadas a dichos nodos en una sola visualización ylas líneas de fluido de cada región se visualiza con el color del nodo en el grafo.

3. Al pulsar el click derecho del mouse sobre un nodo ilumina sobre el grafo con el colorazul todas las aristas y nodos que se encuentran comprometidos en la evolución del nodoseleccionado.

4. Haciendo click sobre el nodo sin aristas que aparece en la parte inferior del grafo se puedenvisualizar todas las zonas de comportamiento similar del instante del tiempo seleccionado.Las líneas de fluido se codifican con los colores representados en cada nodo

67

Page 69: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 3.6: Visualización del grafo que representa las zonas de comportamiento similar utilizandola herramienta track_evolution_tree

La figura (3.6) muestra la visualización interactiva que permite explorar la evolución de laszonas de comportamiento similar en campos vectoriales dependientes del tiempo. Los colores nose repiten en el mismo instante de tiempo debido a que son utilizados para identificar las regionesde comportamiento similar en el proceso exploratorio.

Al interactuar sobre el grafo se producen resultados como los de la figura (3.7). Accionar elclick izquierdo del mouse sobre el nodo rojo del tercer instante de tiempo provoca la visualizaciónde la zona asociada, la cual se dibuja utilizando el mismo color del nodo. Si el evento del clickizquierdo es capturado sobre el nodo rojo de la parte inferior del grafo (el que no contiene aristas)

68

Page 70: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Figura 3.7: Interacciones realizadas sobre el grafo

69

Page 71: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

se muestran todas las zonas de comportamiento similar del instante de tiempo correspondiente. Enambos casos, la flecha negra indica cual de las visualizaciones es la correspondiente.

3.2. DESCRIPCIÓN DE LOS DATOS

La obtención de campos vectoriales reales es un proceso altamente costoso debido a la cantidadde sensores que involucra. Una alternativa menos costosa de obtención de campos vectorialesdependientes del tiempo es a través de herramientas CFD, que resuelven las ecuaciones deNavier-Stokes dada ciertas condiciones de frontera y condiciones iniciales. Es el caso de gerris,

una de las herramientas libres más utilizadas para simular fluidos dependientes del tiempo.En nuestro caso de estudio se utilizó un juego de datos (3D Flow Around a Confined

Square Cylinder), generado por Simone Camarri y Maria Vittoria-Salvetti (Universidad de Pisa),Marcelo Buffoni (Politécnico de Torino), y Angelo Iollo (Universidad de Burdeos). La informaciónoriginal de esta simulación sobrepasa los 440 GB de almacenamiento en memoria, por lo que esprácticamente imposible operar sobre ella. Este mismo dataset fue filtrado por Weinkauf/Theisel2010a, quienes redujeron su tamaño en disco a solo 680 MB de memoria y lo dividieron en 102instantes de tiempos. Cada instante de tiempo se representa como un fluido estacionario en elformato de datos del sistema de visualización Amira.

3.2.1. FORMATO DE DATOS AMIRAMESH

AmiraMesh es un formato de datos versátil, incluido en el sistema de visualización Amira. Estesistema de visualización tiene dos versiones, una académica y otra comercial. La versión académicaes distribuida localmente dentro del departamento de Visualización y análisis de datos del institutoZuse de Berlín y la versión comercial es comercializada por el VSG (por las siglas en inglés de

Visualization Science Group) de Francia por un costo mínimo de 5500 euros.Cualquier fichero de datos en el formato AmiraMesh consiste de dos secciones fundamentales:

Sección de encabezado

Sección de datos

La sección de encabezado cuenta con la descripción del tipo de datos, las fronteras del juego dedatos, las dimensiones en cada uno de los ejes coordenados y el tipo de almacenamiento. Es unasección que almacena solamente contenido ASCII.

70

Page 72: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

# AmiraMesh BINARY-LITTLE-ENDIAN 2.1

define Lattice 4 6 8

Parameters {

BoundingBox -1 0 0 1 -0.5 0.5,

CoordType "uniform" <== 4x =4y =4z.

}

Lattice { float[2] Data}

@1 <Los datos>La sección de datos es la que se encuentra después de la última aparición de @1 y se encuentra

bajo las siguientes especificaciones:

Formato Little-endian: Este es el formato de memoria de muchos procesadores. Asílos datos pueden ser cargados en memoria directamente sin la necesidad de modificar suestructura en cualquier PC Intel o Mac basada en Intel.

x-fastest: Para visitar cualquier celda en memoria solo se necesita operar con tres ciclosanidados en las direcciones z, y, x. El ciclo que recorre el eje x es más interior mientras queel más exterior se encarga de recorrer el eje z.

Interleaved components: Esto garantiza que las componentes u,v,w del campo vectorialse encuentren intercaladas. Así [u0,v0,w0] y [u1,v1,w1] se encuentran en el fichero en elsiguiente orden [u0,v0,w0,u1,v1,w1].

El formato AmiraMesh no se emplea solamente para almacenar campos vectoriales, sino quetambién brinda la posibilidad de almacenar campos escalares, estructuras moleculares, superficiesy otros tipos de datos de propósito general. Las dimensiones del campo están definidas en la líneaque define la variable Lattice, donde el número entre corchetes indica la cantidad de componentesque tiene asociado cada celda del dataset.

3.2.2. FORMATO DE DATOS PRODUCIDOS POR LAS HERRAMIENTAS

Con el objetivo de explotar al máximo las capacidades de cómputo de los equipos utilizadosen la obtención de resultados, resulta necesario generar ficheros intermedios para almacenar lainformación a visualizar.

Las herramientas descritas en los epígrafes (3.1.1), (3.1.2), (3.1.3) y (3.1.5) utilizan un formatode datos propio para visualizar los resultados generados por la herramienta descrita en el epígrafe(3.1.4).

71

Page 73: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

El contenido del archivo generado por la herramienta tracking_evolution se encuentranetamente en binario. Los primeros 4 bytes del archivo corresponden a un entero sin signo querepresenta la cantidad de líneas de fluido que almacena el archivo. Posteriormente el ficheroalmacena una lista de enteros sin signos de igual dimensión que el primer entero leído, la cualrepresenta en cada una de sus posiciones, la cantidad de puntos que forman cada línea. Estos puntosse almacenan de manera contigua, de forma tal que la coordenada x es la primera, la coordenaday la segunda y la coordenada z la tercera. En otras palabras, los puntos se encuentran almacenadoscomo tríos de tipo f loat.

Finalmente, el archivo cuenta con una lista de colores donde se especifica el color de cadavértice como un arreglo de cuatro elementos de tipo f loat. Los colores se almacenan en la base decolores RGBA, donde la A significa el grado de transparencia con el cual se visualiza el color encada vértice.

La principal desventaja de este formato de datos es que las dimensiones del dataset hay queincluirlas en otro archivo de configuración, así como las posiciones de la cámara y la iluminaciónde la escena, algo que no sucede en el formato de datos AmiraMesh. Estos parámetros no sonesenciales para la visualización de la escena, ya que pueden calcularse en tiempo de ejecución, locual solamente afectaría el rendimiento de la escena gráfica.

3.3. ANÁLISIS Y COMPARACIÓN DE LAS

IMPLEMENTACIONES REALIZADAS EN SERIE Y

PARALELO

Una buena medida para comparar la eficiencia de los algoritmos implementados sobrediferentes arquitecturas es comparar sus tiempos de respuesta. En este epígrafe se publican lostiempos de respuesta de los algoritmos tras varias ejecuciones, tanto en serie como en paralelo.

Como se describe en el epígrafe (3.1.4), se implementaron varias funciones de distancia paracomparar las líneas de fluido. A continuación, en la tabla (3.1) se muestran los tiempos de respuestadel algoritmo NKmeans, variando la función de distancia y la cantidad de elementos del conjuntode datos.

72

Page 74: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Cantidad de Streamlines Distancia Tiempo en segundos100 Dc 692200 Dc 2643300 Dc 5865100 DM 402200 DM 1590300 DM 3557100 DH 1337200 DH 5177300 DH 11463

Cuadro 3.1: Relación de tiempos arrojada por el algoritmo NKmeans en el cálculo de la matriz dedistancia en serie. La distancia Dc se corresponde con la distancia de los puntos más cercanos, DMcalcula el promedio de los puntos más cercanos y DH representa la distancia de Hausdorff.

Como se justifica en el epígrafe (2.2.3), la distancia de Hausdorff es la utilizada con mayorfrecuencia en la literatura para medir la semejanza entre dos curvas. La necesidad de mejorarlos tiempos de respuesta de los algoritmos, es algo imprescindible para cualquier aplicación.Cuando los algoritmos requieren de muchas evaluaciones de funciones, su eficiencia se reduceconsiderablemente al aumentar el conjunto de datos y se requiere explotar mejor las capacidadesde hardware, que ayudan a disminuir los tiempos de respuesta de los mismos.

Explotar las ventajas de la programación sobre las arquitecturas paralelas reduce los tiempos derespuesta de los algoritmos sin variar la calidad de los resultados. La definición de eficiencia de unalgoritmo paralelo mediante el tiempo de ejecución se expresa de la siguiente expresión:

e =t1

n · tn(3.1)

donde t1 es el tiempo necesario para encontrar una solución cuando se emplea un soloprocesador y tn es el empleado en encontrar una solución de la misma calidad que la que se encontrócon un procesador, empleando ahora n procesadores. El primer objetivo de un algoritmo paraleloes mejorar el tiempo de resolución de problemas frente al algoritmo secuencial, para aprovechar lapotencia que ofrecen varios procesadores trabajando de forma simultánea.

La tabla (3.2) describe los tiempos arrojados por la implementación en paralelo del para elmismo juego de datos de la tabla (3.1)

Si se comparan los resultados de la tabla (3.2) con los de la tabla (3.1) podemos ver que lostiempos se reducen casi a la mitad. Esto se debe a que solo se explotaron dos núcleos de CPU paraconfeccionar la matriz de distancia.

73

Page 75: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Cantidad de Streamlines Distancia Tiempo en segundos100 Dc 409200 Dc 1439300 Dc 3120100 DM 217200 DM 840300 DM 1926100 DH 740200 DH 2845300 DH 6171

Cuadro 3.2: Relación de tiempos arrojados por el algoritmo en el cálculo de la matriz de distanciaen paralelo sobre una arquitectura con dos procesadores. La distancia Dc se corresponde con ladistancia de los puntos más cercanos. DM calcula el promedio de los puntos más cercanos y DHrepresenta la distancia de Hausdorff.

a) Relación de tiempo en serie

b) Relación de tiempo en paralelo

Figura 3.8: Relación del tiempo de ejecución para las distancas Dc, DM , DH .

En la mayoría de los casos, los equipos de cómputo que poseen altas prestaciones no brindanuna interfaz de usuario amigable y abierta para cualquier usuario. Esto transfiere hacia el usuario

74

Page 76: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

final la necesidad de generar archivos intermedios con la información que se quiere mostrar. Dadala magnitud de los datos (ver epígrafe 3.2) y la complejidad de los problemas, se requiere altasprestaciones de cómputo para lograr un objetivo confiable en el menor tiempo posible.

A partir de las tablas (3.2 y 3.1) y aplicando la definición de eficiencia descrita en la ecuación(3.1) se calculan los por cientos de eficiencia para las distancias DM,Dc,DH en paralelo.

Cantidad de Streamlines Distancia %Eficiencia100 Dc 84.59200 Dc 91.83300 Dc 93.91100 DM 92.62200 DM 94.64300 DM 92.34100 DH 90.33200 DH 90.98300 DH 92.87

Cuadro 3.3: Eficiencia de la implementación en paralelo de las distancias DM,Dc,DH

La tabla (3.3) representa la corrida del algoritmo de agrupamiento NKmeans, variando elnúmero de curvas de fluido calculadas y la función de distancia del algoritmo. La última columnarepresenta cuán eficiente es el algoritmo que calcula la matriz de distancia empleada por elalgoritmo en paralelo respecto al algoritmo en serie.

Aunque los resultados de eficiencia mostrados en la tabla (3.3) favorecen la distancia DM estadistancia no descubre satisfactoriamente la región de comportamiento similar descrita en el epígrafe(2.1) y por tanto no constituye la métrica a utilizar en la presente investigación.

Figura 3.9: Comparación del tiempo de ejecución de la implementación en serie y en paralelo de ladistancia Dc

75

Page 77: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

La figura (3.9) muestra resultados que favorecen la implementación en paralelo para laconstrucción de la matriz de distancia.

3.4. ANÁLISIS DE LOS RESULTADOS

Visualizar las zonas de comportamiento similar en fluidos no estacionarios es un desafío hoydía en la comunidad CFD. Debido a que pequeñas variaciones en el tiempo pueden causar grandesvariaciones en los datos, se torna difícil extraer resultados apropiados.

La visualización de los centroides de los grupos es una técnica que representa elcomportamiento inducido por los datos, pero no brinda la información relativa de la evolución.Con este tipo de visualización se obtiene un referente de la trayectoria que sigue la geometría queencierran las zonas de comportamiento similar en la dimensión espacio− temporal.

Por otra parte, la visualización de la evolución de las zonas de comportamiento similar enfluidos dependientes del tiempo sobre un grafo que se construye por etapas es lo suficientementeexpresiva, como para comprender el comportamiento del fluido de un instante de tiempo a otro.Cada etapa del grafo se representa como una serie de nodos que se interconectan con los nodos dela etapa siguiente y la anterior. Las aristas del grafo representan la evolución de cada zona en eltiempo.

Figura 3.10: Visualización de la evolución de zonas de comportamiento similar en 5 instantes detiempo.

76

Page 78: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

En el grafo representado en la figura (3.10) se puede evidenciar claramente, que a algunos nodosllega más de una arista y que de algún nodo parte más de una arista. Además, todas las etapas delgrafo no cuentan con la misma cantidad de nodos. Tal situación se debe a que las bifurcacionesprovocan varios tipos de segmentaciones en el fluido (ver figura 1.8) debido a la topología de lospuntos críticos contenidos en cada instante de tiempo.

Los resultados expuestos en la figura (3.3) representan las regiones del fluido dondelas propiedades globales se comportan de manera similar. Para identificar y diferenciar elcomportamiento de un grupo a otro se utiliza el color, el cual codifica cada elemento de un mismogrupo con un mismo color.

3.5. CONCLUSIONES PARCIALES

La implementación de algoritmos en paralelo para el análisis de zonas de comportamientosimilar en fluidos dependientes del tiempo, brinda resultados confiables en cortos intervalosde tiempo.

La visualización resultante por la herramienta vtk_streamline_viewer es más expresiva quela producida por la herramienta streamline_viewer, ya que brinda un mayor número deinteracciones y configuraciones, además optimiza los recursos de GPU.

Las herramientas elaboradas para esta investigación pueden integrarse en diversos sistemasde visualización. Ejemplo: Amira, ParaView, OpenDx, etc.

El conjunto de herramientas presentado permite la exploración visual de campos vectorialesdependientes del tiempo de manera sencilla sin importar las capacidades de hardware delequipo de cómputo.

Concebir FlowVisTools como un conjunto de comandos facilita la instalación y utilizacióndel mismo.

77

Page 79: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

CONCLUSIONES

Como resultado de esta investigación se implementó una variante del algoritmokmeans, quea través del índice de calidad BIC determina un agrupamiento apropiado para un conjunto departiciones diferentes.

Experimentalmente se comprobó que la distancia adecuada para realizar el agrupamiento yanalizar visualmente la evolución del mismo, es la distancia de Hausdorff.

Se define mecanismo de trabajo para identificar la evolución de las zonas de comportamientosimilar en campos vectoriales dependientes del tiempo, la cual cuenta con las siguientesetapas:

- generación de las streamlines en cada instante de tiempo,

- agrupamiento de las streamlines de cada instante de tiempo usando el algoritmoNKmeans, y

- construcción del grafo que representa la evolución de las zonas en el tiempo,y representación de la evolución del elemento más representativo de una zonadeterminada.

Resulta novedoso visualizar la evolución de las zonas de comportamiento similar en fluidosdependientes del tiempo y representar dicha evolución mediante un grafo constituye unaporte científico.

El cálculo de la evolución del elemento más representativo de una zona determinada en eltiempo es eficiente cuando el número de grupos es alto y las dimensiones de la región delcampo vectorial es pequeña.

Se implementó un conjunto de herramientas, que permiten la exploración y el análisis visualde las zonas de comportamiento similar de campos vectoriales 3D dependientes del tiempoy se definieron un conjunto de interacciones, que permiten manipular los datos de formadinámica dentro de la escena.

78

Page 80: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Se implementó un conjunto de interacciones sobre el grafo que muestra la evolución delas zonas de comportamiento similar en campos vectoriales dependientes del tiempo paravisualizar en cada etapa, tanto las streamlines de una zona perteneciente a un instante detiempo como el instante de tiempo completo.

79

Page 81: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

RECOMENDACIONES

Definir una función de distancia que permita comparar las trayectorias de las partículas quese desplazan por un fluido dependiente del tiempo sobre el dominio temporal.

Crear un mecanismo que a partir de una bifurcación determine "cuántas" streamlines

evolucionan para cada zona del instante de tiempo siguiente.

Tratar las zonas de comportamiento similar como una superficie que solo esté determinadapor los puntos de su frontera.

Implementar en FlowVisTools una herramienta que permita animar la evolución de las zonasde comportamiento similar en el tiempo.

80

Page 82: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

REFERENCIAS BIBLIOGRÁFICAS

Abello, James/Korn, Jeffrey: Mgv: a system for visualizing massive multidigraphs. Visualizationand Computer Graphics, IEEE Transactions on, 8 2002, Nr. 1, 21–38

Abraham, Ralph H/Shaw, Christopher D: Dynamics-The geometry of behavior. Aerial Press,1983

Agrawal, Rakesh et al.: Automatic subspace clustering of high dimensional data for data miningapplications. ACM, 1998

Anderberg, Michael R: Cluster analysis for applications. Academic, New York 1973

Ankerst, Mihael: Visual data mining. Dissertation. de, 2001

Baker, Frank B/Hubert, Lawrence J: A graph-theoretic approach to goodness-of-fit incomplete-link hierarchical clustering. Journal of the American Statistical Association, 711976, Nr. 356, 870–878

Berrios, David Hyon: Locating Critical Points in 3D Vector Fields using Graphics Hardware. 2012

Boring, Ed/Pang, Alex: Directional flow visualization of vector fields. En Proceedings of the 7thconference on Visualization’96. IEEE Computer Society Press 1996, 389–ff

Bradley, Paul S/Fayyad, Usama/Reina, Cory: Scaling EM (expectation-maximization) clusteringto large databases. Technical Report MSR-TR-98-35, Microsoft Research Redmond, 1998 –Informe técnico

Brill, Manfred et al.: Streamball techniques for flow visualization. En Proceedings of theconference on Visualization’94. IEEE Computer Society Press 1994, 225–231

Budwig, R et al.: Steady flow in abdominal aortic aneurysm models. Journal of biomechanicalengineering, 115 1993, Nr. 4A, 418–423

Cabral, Brian/Leedom, Leith Casey: Imaging vector fields using line integral convolution. EnProceedings of the 20th annual conference on Computer graphics and interactive techniques.ACM 1993, 263–270

81

Page 83: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Camp, David et al.: GPU acceleration of particle advection workloads in a parallel, distributedmemory setting. En Proceedings of the 13th Eurographics Symposium on Parallel Graphicsand Visualization. Eurographics Association 2013, 1–8

Carreira, Joao/Sminchisescu, Cristian: Constrained parametric min-cuts for automatic objectsegmentation. En Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conferenceon. IEEE 2010, 3241–3248

Ciptadi, Arridhana/Goodwin, Matthew S/Rehg, James M: Movement Pattern Histogram forAction Recognition and Retrieval. En Computer Vision–ECCV 2014. Springer, 2014,695–710

Crawfis, Roger et al.: Volume rendering of 3D scalar and vector fields at LLNL. EnSupercomputing’93. Proceedings. IEEE 1993, 570–576

Crouch, Peter E/Grossman, R: Numerical integration of ordinary differential equations onmanifolds. Journal of Nonlinear Science, 3 1993, Nr. 1, 1–33

Dey, Tamal K/Rossi, Alfred/Sidiropoulos, Anastasios: Spectral concentration, robust k-center,and simple clustering. arXiv preprint arXiv:1404.1008 2014

Dhillon, Inderjit S/Guan, Yuqiang/Kulis, Brian: Kernel k-means: spectral clustering andnormalized cuts. En Proceedings of the tenth ACM SIGKDD international conference onKnowledge discovery and data mining. ACM 2004, 551–556

Ebert, David S et al.: Volume rendering methods for computational fluid dynamics visualization.En Proceedings of the conference on Visualization’94. IEEE Computer Society Press 1994,232–239

Ferreira, Nivan et al.: Vector Field k-Means: Clustering Trajectories by Fitting Multiple VectorFields. En Computer Graphics Forum. Volumen 32, Wiley Online Library 2013, 201–210

Fu, Dong et al.: CFD Simulations and VR Visualization for Process Design and Optimization.En Proceedings of the Inaugural US-EU-China Thermophysics Conference, Beijing, China,UECTC-RE. Volumen 9, 2009

Funck, Wolfram von/Theisel, Holger/Seidel, Hans-Peter: Vector field based shape deformations.En ACM Transactions on Graphics (TOG). Volumen 25, ACM 2006, 1118–1125

Gallagher, Richard S/Press, Solomon: Computer Visualization: Graphics Techniques forEngineering and Scientific Analysis. CRC Press, 1994

82

Page 84: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Globus, Al/Levit, Creon/Lasinski, Tom: A tool for visualizing the topology of three-dimensionalvector fields. En Proceedings of the 2nd conference on Visualization’91. IEEE ComputerSociety Press 1991, 33–40

Godino, Juan D et al.: Análisis y valoración de laïdoneidad didáctica"de procesos de estudio delas matemáticas. 2006

Golubitsky, Martin/Schaeffer, David G/Stewart, Ian: Singularities and groups in bifurcationtheory. Volumen 2, Springer New York, 1988

Gower, John C/Ross, GJS: Minimum spanning trees and single linkage cluster analysis. Appliedstatistics, 1969, 54–64

Guckenheimer, John/Holmes, Philip: Nonlinear oscillations, dynamical systems, andbifurcations of vector fields. Volumen 42, New York Springer Verlag, 1983

Halkidi, Maria/Batistakis, Yannis/Vazirgiannis, Michalis: On clustering validation techniques.Journal of Intelligent Information Systems, 17 2001, Nr. 2-3, 107–145

Halkidi, Maria/Batistakis, Yannis/Vazirgiannis, Michalis: Clustering validity checkingmethods: part II. ACM Sigmod Record, 31 2002, Nr. 3, 19–27

Hansen, Charles D/Johnson, Chris R: The visualization handbook. Academic Press, 2005

Helman, James L/Hesselink, Lambertus: Visualizing vector field topology in fluid flows. IEEEComputer Graphics and Applications, 11 1991a, Nr. 3, 36–46

Helman, James L/Hesselink, Lambertus: Visualizing vector field topology in fluid flows. IEEEComputer Graphics and Applications, 11 1991b, Nr. 3, 36–46

Huang, Grace T et al.: Spectral clustering strategies for heterogeneous disease expression data.En Pacific Symposium on Biocomputing. Pacific Symposium on Biocomputing. WorldScientific 2013, 212

Huang, Jin et al.: MELODY-JOIN: Efficient Earth Mover’s Distance similarity joins usingMapReduce. En Data Engineering (ICDE), 2014 IEEE 30th International Conference on.IEEE 2014, 808–819

Irpino, Antonio/Verde, Rosanna/De Carvalho, Francisco de AT: Dynamic clustering ofhistogram data based on adaptive squared Wasserstein distances. Expert Systems withApplications, 41 2014, Nr. 7, 3351–3366

Jain, Anil K: Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 31 2010,Nr. 8, 651–666

83

Page 85: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Jain, Anil K/Murty, M Narasimha/Flynn, Patrick J: Data clustering: a review. ACM computingsurveys (CSUR), 31 1999, Nr. 3, 264–323

Jiawei, Han/Kamber, Micheline: Data mining: concepts and techniques. San Francisco, CA, itd:Morgan Kaufmann 5 2001

Kenwright, David N/Lane, David A: Interactive time-dependent particle tracing using tetrahedraldecomposition. Visualization and Computer Graphics, IEEE Transactions on, 2 1996, Nr. 2,120–129

Klassen, R Victor/Harrington, Steven J: Shadowed hedgehogs: A technique for visualizing 2Dslices of 3D vector fields. En Proceedings of the 2nd conference on Visualization’91. IEEEComputer Society Press 1991, 148–153

Kongsberg, SIM: AS. Coin3D–3D Graphics Developer Kit. 2002

Kruse, Rudolf/Döring, Christian/Lesot, Marie-Jeanne: Fundamentals of fuzzy clustering.Advances in fuzzy clustering and its applications, 2007, 3–30

Kuhn, Alexander et al.: A Clustering-based Visualization Technique to Emphasize MeaningfulRegions of Vector Fields. En VMV. 2011, 191–198

Kumar, Shyam: Semantic clustering of index terms. Journal of the ACM (JACM), 15 1968, Nr. 4,493–513

Lane, David A: Visualizing time-varying phenomena in numerical simulations of unsteady flows.National Aeronautics and Space Administration, 1996

Leeuw, Willem C de/Van Wijk, Jarke J: Enhanced spot noise for vector field visualization. EnProceedings of the 6th conference on Visualization’95. IEEE Computer Society 1995, 233

Li, Yifei/Wang, Chaoli/Shene, Ching-Kuang: Streamline similarity analysis usingbag-of-features. En IS&T/SPIE Electronic Imaging. International Society for Optics andPhotonics 2013, 90170N–90170N

Lin, Binbin et al.: Parallel vector field embedding. The Journal of Machine Learning Research, 142013, Nr. 1, 2945–2977

Lu, Kewei et al.: Exploring vector fields with distribution-based streamline analysis. En PacificVis.2013, 257–264

Ma, Jun et al.: FlowTour: An automatic guide for exploring internal flow features. En PacificVisualization Symposium (PacificVis), 2014 IEEE. IEEE 2014, 25–32

84

Page 86: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Ma, Jun et al.: A Graph-Based Interface for Visual Analytics of 3D Streamlines and Pathlines.2013

Ma, Yunqian/Fu, Yun: Manifold learning theory and applications. CRC Press, 2012

Marsden, Jerrold E/McCracken, Marjorie: The Hopf bifurcation and its applications.Volumen 19, Springer-Verlag, 1976

McKenzie, Alexander/Lombeyda, Santiago/Desbrun, Mathieu: Vector field analysis andvisualization through variational clustering. 2005

McLoughlin, Tony et al.: Over Two Decades of Integration-Based, Geometric Flow Visualization.En Computer Graphics Forum. Volumen 29, Wiley Online Library 2010, 1807–1829

Miserendino, Scott B/Maynard, Corey/Freeman, William E: Conference 9017: Visualizationand Data Analysis 2014. Electronic Imaging, 2014, 117

Nakatani, Hideyuki et al.: Cerebral blood flow patterns at major vessel bifurcations and aneurysmsin rats. Journal of neurosurgery, 74 1991, Nr. 2, 258–262

Ng, Andrew Y et al.: On spectral clustering: Analysis and an algorithm. Advances in neuralinformation processing systems, 2 2002, 849–856

Niimi, Hideyuki/Kawano, Yosuke/Sugiyama, Ikuo: Structure of blood flow through a curvedvessel with an aneurysm. Biorheology, 21 1983, Nr. 4, 603–615

Ordonez, Carlos/Omiecinski, Edward: FREM: fast and robust EM clustering for large datasets. En Proceedings of the eleventh international conference on Information and knowledgemanagement. ACM 2002, 590–599

Oves G. R, Carlos Pérez Risquet, Alvaro Arias Gallardo: Análisis de campos vectoriales a partirde la curvatura y torsión de sus curvas tangentes. COMPUMAT 2013

Oves Garcia R, . et al.: Integración de técnicas de visualización de datos multiparamétricos paraSIG basados en WEB. 2011a, ISBN 978–959–7117–30–8

Oves Garcia R, . et al.: Visualización Espacio-Temporal mediante técnicas de visualización dedatos multiparamétricos en SIG. 2011b, ISBN 978–959–7117–30–8

Oves García R, ./Vázquez Rodríguez R, ./Pérez Risquet C, .: Uso de Sistemas de InformaciónGeográfica Basados en Software Libre para la Visualización de Datos Meteorológicos.2009a, ISBN 978–959–286–010–0

85

Page 87: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Oves García R, ./Vázquez Rodríguez R, ./Pérez Risquet C, .: Visualización y análisis de datoscientíficos mediante Sistemas de Información Geográficos basados en software libre. 2009b,ISSN 1728–6042

Oves García R, ./Vázquez Rodríguez R, ./Pérez Risquet C, .: Visualización y Análisis de DatosCientíficos Mediante Sistemas de Información Geográfica Basados en Software Libre. 2012

Oves García R, . et al.: Incorporación de herramientas de visualización para el análisis visual dedatos en SIG de escritorio. 2011, ISBN 978–959–7213–01–7

Papandreou, A/Gatos, B/Louloudis, G: An adaptive zoning technique for efficient word retrievalusing dynamic time warping. En Proceedings of the First International Conference on DigitalAccess to Textual Cultural Heritage. ACM 2014, 147–152

Pedrycz, Witold: Knowledge-based clustering: from data to information granules. John Wiley &Sons, 2005

Peng, Zhenmin et al.: Mesh-driven vector field clustering and visualization: An image-basedapproach. Visualization and Computer Graphics, IEEE Transactions on, 18 2012, Nr. 2,283–298

Petersen, Richard: Ubuntu 14.04 LTS Desktop: Applications and Administration. Surfing TurtlePress, 2014

Ramachandran, Prabhu/Varoquaux, Gaël: Mayavi: 3D visualization of scientific data.Computing in Science & Engineering, 13 2011, Nr. 2, 40–51

Risquet, Carlos Pérez/Ortega, Juan C.: Modelación de datos para la visualización científica.COMPUMAT 2005

Rosa, Gabriel G et al.: An interactive volume visualization system for transient flow analysis. EnProceedings of the 2003 Eurographics/IEEE TVCG Workshop on Volume graphics. ACM2003, 137–144

Rossl, Christian/Theisel, Holger: Streamline embedding for 3D vector field exploration.Visualization and Computer Graphics, IEEE Transactions on, 18 2012, Nr. 3, 407–420

Sabella, Paolo: A rendering algorithm for visualizing 3D scalar fields. En ACM SIGGRAPHcomputer graphics. Volumen 22, ACM 1988, 51–58

Schulz, Martin et al.: Interactive visualization of fluid dynamics simulations in locally refinedcartesian grids. En Visualization’99. Proceedings. IEEE 1999, 413–553

86

Page 88: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Sheikholeslami, Gholamhosein/Chatterjee,Surojit/Zhang, Aidong: Wavecluster: A multi-resolution clustering approach for very largespatial databases. En VLDB. Volumen 98, 1998, 428–439

Sheikholeslami, Gholamhosein/Chatterjee, Surojit/Zhang, Aidong:WaveCluster: a wavelet-based clustering approach for spatial data in very large databases.The VLDB Journal, 8 2000, Nr. 3-4, 289–304

Shi, Jianbo/Malik, Jitendra: Motion segmentation and tracking using normalized cuts. EnComputer Vision, 1998. Sixth International Conference on. IEEE 1998, 1154–1160

Shi, Jianbo/Malik, Jitendra: Normalized cuts and image segmentation. Pattern Analysis andMachine Intelligence, IEEE Transactions on, 22 2000, Nr. 8, 888–905

Shi, Kuangyu et al.: Visualizing transport structures of time-dependent flow fields. transport, 52008, 0

Snyder, William H: Fluid modeling of pollutant transport and diffusion in stably stratified flowsover complex terrain. Annual review of fluid mechanics, 17 1985, Nr. 1, 239–266

Squillacote, Amy Henderson/Ahrens, James: The paraview guide. Volumen 366, Kitware, 2007

Stalling, Detlev/Westerhoff, Malte/Hege, Hans-Christian: 38 amira: A Highly InteractiveSystem for Visual Data Analysis. The visualization handbook, 2005, 749

Stallman, Richard: Copyleft: pragmatic idealism. 1998

Steiger, Hans J et al.: Basic flow structure in saccular aneurysms: a flow visualization study. Heartand vessels, 3 1987, Nr. 2, 55–65

Steinman, David A et al.: Image-based computational simulation of flow dynamics in a giantintracranial aneurysm. American Journal of Neuroradiology, 24 2003, Nr. 4, 559–566

Theisel, Holger: Vector field curvature and applications. Doktorarbeit, FB Informatik, Universit atRostock 1995

Theisel, Holger: CAGD and Scientific Visualization. Tesis Doctoral, Habilitation Thesis, 2001

Theisel, Holger/Seidel, H-P: Feature flow fields. En Proceedings of the symposium on Datavisualisation 2003. Eurographics Association 2003, 141–148

Theisel, Holger et al.: Topological methods for 2D time-dependent vector fields based on streamlines and path lines. Visualization and Computer Graphics, IEEE Transactions on, 11 2005,Nr. 4, 383–394

87

Page 89: ANÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE …

Tricoche, Xavier/Scheuermann, Gerik/Hagen, Hans: Topology-based visualization oftime-dependent 2D vector fields. En Proceedings of the 3rd Joint Eurographics-IEEE TCVGconference on Visualization. Eurographics Association 2001, 117–126

Urness, Timothy et al.: Effectively visualizing multi-valued flow data using color and texture. EnProceedings of the 14th IEEE Visualization 2003 (VIS’03). IEEE Computer Society 2003,16

Van Wijk, Jarke J: Spot noise texture synthesis for data visualization. En ACM SIGGRAPHComputer Graphics. Volumen 25, ACM 1991, 309–318

Wang, Wei et al.: STING: A statistical information grid approach to spatial data mining. En VLDB.Volumen 97, 1997, 186–195

Wei, Jishang et al.: Parallel clustering for visualizing large scientific line data. En Large DataAnalysis and Visualization (LDAV), 2011 IEEE Symposium on. IEEE 2011, 47–55

Weinkauf, T./Theisel, H.: Streak Lines as Tangent Curves of a Derived Vector Field. IEEETransactions on Visualization and Computer Graphics (Proceedings Visualization 2010), 16November - December 2010a, Nr. 6, 1225–1234 〈URL: http://tinoweinkauf.net/〉

Weinkauf, Tino: Extraction of Topological Structures in 2D and 3D vector fields. Tesis Doctoral,Otto-von-Guericke-Universität Magdeburg, Universitätsbibliothek, 2008

Weinkauf, Tino/Theisel, Holger: Curvature measures of 3D vector fields and their applications.2002

Weinkauf, Tino/Theisel, Holger: Streak lines as tangent curves of a derived vector field.Visualization and Computer Graphics, IEEE Transactions on, 16 2010b, Nr. 6, 1225–1234

Ye, Xiangong/Kao, David/Pang, Alex: Strategy for seeding 3D streamlines. En Visualization,2005. VIS 05. IEEE. IEEE 2005, 471–478

Yu, Hongfeng et al.: Hierarchical streamline bundles. Visualization and Computer Graphics, IEEETransactions on, 18 2012, Nr. 8, 1353–1367

Zhang, Wenyao et al.: Multiresolution streamline placement based on control grids. IntegratedComputer-Aided Engineering, 21 2014, Nr. 1, 47–57

Zhang, Wenyao et al.: Parallel streamline placement for 2D flow fields. Visualization andComputer Graphics, IEEE Transactions on, 19 2013, Nr. 7, 1185–1198

Zockler, Malte/Stalling, Detlev/Hege, H-C: Interactive visualization of 3D-vector fields usingilluminated stream lines. En Visualization’96. Proceedings. IEEE 1996, 107–113

88