scieee AI-readable full text Open interactive document viewer

Implementación de un generador de mosaicos regulares a partir de imágenes adquiridas por una cámara

Martí Calero, Jorge

Full text

UNIVERSIDAD POLITÉCNICA DE VALENCIA Escuela Técnica Superior de Informática Aplicada (Sistemas) Curso 2010--2011 Memoria Técnica del Proyecto Proyecto presentado por el Alumno: Dirigido por Manuel Agustí Melchor Dpto. de Informática de Sistemas y Computadores. Valencia , a ____de __________________ de 2011. Página: 1 Implementación de un generador de mosaicos regulares a partir de imágenes adquiridas por una cámara Jordi Martí Calero Índice de contenido Capítulo 1: Presentación......................................................................................................................7 1.1 Introducción ..............................................................................................................................7 1.2 Antecedentes..............................................................................................................................7 1.3 Objetivo del Proyecto................................................................................................................7 Capítulo 2: Especificación de requisitos..............................................................................................8 2.1 Materiales y métodos a utilizar..................................................................................................8 2.1.1 Herramientas a utilizar.......................................................................................................8 2.1.2 Instalación de la herramienta utilizada...............................................................................8 2.1.3 Fundamentos teóricos........................................................................................................8 2.1.3.1 Elementos de una simetría..........................................................................................8 2.1.3.2 Clasificación de las isometrías del plano euclidiano..................................................9 2.1.3.3 La condición de las traslaciones independientes........................................................9 2.1.3.4 La condición discreta..................................................................................................9 Capítulo 3: Nomenclatura...................................................................................................................10 3.1 La restricción cristalográfica...................................................................................................10 3.2 Características generales de los grupos...................................................................................10 3.3 Definiciones previas al desarrollo e implementación..............................................................11 3.4 Notación en imágenes de muestra de simetría.........................................................................12 3.5 Ejemplos de simetría................................................................................................................12 Capítulo 4: Desarrollo........................................................................................................................22 4.1 ¿Cómo se va a desarrollar?......................................................................................................22 4.1.1 La idea a desarrollar.........................................................................................................22 4.2 Pasos a seguir...........................................................................................................................22 4.3 Operaciones aritmético/lógicas con OpenCV..........................................................................22 4.4 ¿Cómo replicar una imagen?...................................................................................................24 4.5 Síntesis de imagen a partir de los GSP....................................................................................27 4.5.1 P1 (GSP 1)........................................................................................................................28 4.5.1.1 Generación del P1 a partir de la CU.........................................................................29 4.5.2 P2 (GSP 2)........................................................................................................................30 4.5.2.1 Generación del P2 a partir de la CU.........................................................................31 4.5.3 PM (GSP 3)......................................................................................................................32 4.5.3.1 Generación del PM a partir de la CU.......................................................................33 4.5.4 PG (GSP 4).......................................................................................................................34 4.5.4.1 Generación del PG a partir de la CU........................................................................35 4.5.5 CM (GSP 5)......................................................................................................................36 4.5.5.1 Generación del CM a partir de la CU.......................................................................37 4.5.6 PMM (GSP 6)..................................................................................................................38 4.5.6.1 Generación del PMM apartir de la CU.....................................................................38 4.5.7 PMG (GSP 7)...................................................................................................................40 4.5.7.1 Generación del PMG a partir de la CU....................................................................41 4.5.8 PGG (GSP 8)....................................................................................................................42 4.5.8.1 Generación del PGG a partir de la CU.....................................................................43 4.5.9 CMM (GSP 9)..................................................................................................................44 4.5.9.1 Generación del CMM a partir de la CU...................................................................45 4.5.10 P4 (GSP 10)....................................................................................................................46 4.5.10.1 Generación del P4 apartir de la CU........................................................................47 4.5.11 P4M (GSP 11)................................................................................................................48 4.5.11.1 Generación del P4M a partir de la CU...................................................................49 Página: 2 4.5.12 P4G (GSP 12).................................................................................................................50 4.5.12.1 Generación del P4G a partir de la CU....................................................................51 4.5.13 P3 (GSP 13)....................................................................................................................52 4.5.13.1 Generación del P3 a partir de la CU.......................................................................53 4.5.14 P3M1 (GSP 14)..............................................................................................................62 4.5.14.1 Generación del P3M1 a partir de la CU.................................................................63 4.5.15 P31M (GSP 15)..............................................................................................................64 4.5.15.1 Generación del P31M a partir de la CU.................................................................65 4.5.16 P6 (GSP 16)....................................................................................................................66 4.5.16.1 Generación del P6 a partir de la CU.......................................................................67 4.5.17 P6M (GSP 17)................................................................................................................68 4.5.17.1 Generación del P6M a partir de la CU...................................................................69 Capítulo 5: Conclusiones y/o futuras ampliaciones...........................................................................70 Capítulo 6: Posibles aplicaciones prácticas del PFC..........................................................................71 Capítulo 7: Bibliografía y referencias................................................................................................74 Página: 3 Índice de ilustraciones Imagen 1: Simetría del GSP P1.........................................................................................................13 Imagen 2: Simetría del GSP P2.........................................................................................................13 Imagen 3: Simetría del GSP PM........................................................................................................14 Imagen 4: Simetría del GSP PG........................................................................................................14 Imagen 5: Simetría del GSP CM.......................................................................................................15 Imagen 6: Simetría del GSP PMM....................................................................................................15 Imagen 7: Simetría del GSP PMG.....................................................................................................16 Imagen 8: Simetría del GSP PGG.....................................................................................................16 Imagen 9: Simetría del GSP CMM....................................................................................................17 Imagen 10: Simetría del GSP P4.......................................................................................................17 Imagen 11: Simetría del GSP P4M....................................................................................................18 Imagen 12: Simetría del GSP P4G....................................................................................................18 Imagen 13: Simetría del GSP P3.......................................................................................................19 Imagen 14: Simetría del GSP P3M1..................................................................................................19 Imagen 15: Simetría del GSP P31M..................................................................................................20 Imagen 16: Simetría del GSP P6.......................................................................................................20 Imagen 17: Simetría del GSP P6M.....................................................................................................21 Imagen 18: Ejemplo de réplica mediante región o área de interés. .................................................24 Imagen 19: Ejemplo de réplica mediante el método “réplicaSetGet”...............................................25 Imagen 20: Ejemplo dónde puede verse el caso en que la imagen de destino no es múltiplo de la de origen..................................................................................................................................................26 Imagen 21: Ejemplo de réplica incompleta.......................................................................................27 Imagen 22: Ejemplo de construcción de P1......................................................................................29 Imagen 23: Ejemplo de construcción de P2......................................................................................31 Imagen 24: Ejemplo de construcción de PM......................................................................................33 Imagen 25: Ejemplo de construcción de PG.....................................................................................35 Imagen 26: Ejemplo de construcción de CM.....................................................................................37 Imagen 27: Ejemplo de construcción de PMM.................................................................................39 Imagen 28: Ejemplo de construcción de PMG...................................................................................41 Imagen 29: Ejemplo de construcción de PGG...................................................................................43 Imagen 30: Ejemplo de construcción de CMM..................................................................................45 Imagen 31: Ejemplo de construcción de P4.......................................................................................47 Imagen 32: Ejemplo de construcción de P4M....................................................................................49 Imagen 33: Ejemplo de construcción de P4G....................................................................................51 Imagen 34: Aspecto de un PF del grupo P3.....................................................................................53 Imagen 35: Síntesis interna de un PF del grupo P3...........................................................................53 Imagen 36: Síntesis del PF en dos triángulos equiláteros.................................................................54 Imagen 37: Síntesis interna del triángulo de color naranja de la imagen 36 del apartado c..............54 Imagen 38: Triángulo isósceles.........................................................................................................55 Imagen 39: Ángulos del triángulo equilátero izquierdo, de los dos en los que se divide el isósceles de la imagen 38...................................................................................................................................56 Imagen 40: Ancho de los triángulos equiláteros en que se divide el isósceles..................................56 Imagen 41: Proyecciones de un vector V...........................................................................................57 Imagen 42: Imagen origen ................................................................................................................58 Imagen 43: Aplicando la máscara a la imagen de origen...................................................................58 Imagen 44: Muestra de la equivalencia de la imagen 39 en nuestra imagen origen con la máscara aplicada...............................................................................................................................................59 Imagen 45: Limitaión del área recortada sobre la imagen de origen.................................................59 Página: 4 Imagen 46: Rotación de 120º de la máscara......................................................................................60 Imagen 47: Rotación de -120º de la máscara....................................................................................61 Imagen 48: Ejemplo de uso de la aplicación del PFC. Fabricación de una esfera de 10 pulgadas de diámetro..............................................................................................................................................71 Imagen 49: Imagen de un GSP P6M replicado utilizado como Wallpaper en Windows Vista.........72 Imagen 50: Empapelado de pared decorativo. ..................................................................................73 Página: 5 Índice de tablas Tabla 1: Características generales de los grupos de simetría en plano...............................................11 Tabla 2: Notación de simetría.............................................................................................................12 Tabla 3: Caracterización de las simetrías interiores del GSP P1, ejemplo de PF y CU.....................23 Tabla 4: Caracterización de las simetrías interiores del GSP P2, ejemplo de PF y CU.....................25 Tabla 5: Caracterización de las simetrías interiores del GSP PM, ejemplo de PF y CU....................27 Tabla 6: Caracterización de las simetrías interiores del GSP PG, ejemplo de PF y CU....................29 Tabla 7: Caracterización de las simetrías interiores del GSP CM, ejemplo de PF y CU...................33 Tabla 8: Caracterización de las simetrías interiores del GSP PMM, ejemplo de PF y CU................35 Tabla 9: Caracterización de las simetrías interiores del GSP PMM, ejemplo de PF yCU.................37 Tabla 10: Caracterización de las simetrías interiores del GSP PGG, ejemplo de PF y CU...............39 Tabla 11: Caracterización de las simetrías interiores del GSP CMM, ejemplo de PF y CU..............41 Tabla 12: Caracterización de las simetrías interiores del GSP P4, ejemplo de PF y CU...................43 Tabla 13: Caracterización de las simetrías interiores del GSP P4M, ejemplo de PF y CU................45 Tabla 14: Caracterización de las simetrías interiores del GSP P4G, ejemplo de PF y CU................47 Tabla 15: Caracterización de las simetrías interiores del GSP P3, ejemplo de PF y CU...................49 Tabla 16: Caracterización de las simetrías interiores del GSP P3M1, ejemplo de PF y CU..............63 Tabla 17: Caracterización de las simetrías interiores del GSP P31M, ejemplo de PF y CU..............65 Tabla 18: Caracterización de las simetrías interiores del GSP P6, ejemplo de PF y CU...................67 Tabla 19: Caracterización de las simetrías interiores del GSP P6M, ejemplo de PF y CU................69 Página: 6 Capítulo 1: Presentación: Introducción: ¿Cómo construir Wallpapers de una forma más personalizada y aplicarlos a nuestro escritorio? ¿Cómo trabajar con imágenes capturadas mediante medios multimedia, o simplemente leídas desde un fichero, y aplicarlas para obtener un diseño personalizado? Estas son algunas de las preguntas que han dado a luz al proyecto aquí planteado. La idea fundamental es dar un soplo de aire fresco al diseño multimedia de imágenes, investigando en el campo de la simetría en el plano aplicando la restricción cristalográfica. A partir de una estructura de este tipo replicaremos a modo de tapiz según nuestro propio gusto. Ejemplos de imágenes periódicas se puede encontrar en diferentes contextos [xah2010]. En ámbitos como las matemáticas (Escher, Penrose) y la cristalografía, el diseño artístico de mosaicos (desde la época celta, pasando por ejemplos de arte Árabe/Islámico) y ornamentos, hasta los más habituales y tradicionales de nuestra cultura como pueden ser: los realizados con punto de tejer de nuestras abuelas, los enrejados de mimbre de los muebles, el textil o la cerámica. Los diseñadores crean imágenes en las que se utiliza la repetición espacial, de forma periódica, de un patrón. En esencia es como la explicación o reducción del contenido de una imagen a una subimagen, cuya geometría define la rejilla o tamaño del PF que tesela la original. La repetida traslación de ese patrón a los "puntos" de la rejilla permite reconstruir la imagen de partida. Antecedentes : Actualmente existen aplicaciones tales como Inkscape, GIMP o Kali, de código libre, que realizan ciertas operaciones geométricas con imágenes, y que nosotros vamos a realizar también en el presente proyecto. Nosotros utilizaremos estas aplicaciones en la medida que nos simplifiquen la perspectiva que pueda alcanzar el proyecto en alguna de sus fases, y ante todo, frente a dudas o incongruencias que puedan surgir en diferentes fuentes de documentación y desarrollo. Objetivo del proyecto: Este proyecto aborda la construcción de imágenes de contenido periódico a partir de una muestra que se toma de la imagen adquirida con una cámara, sobre la que el usuario puede determinar una zona de interés. Este patrón será replicado espacialmente hasta rellenar una imagen del tamaño que especifique el usuario sin solapes ni huecos. Este proceso está determinado por una serie de reglas de aplicación de simetrías sobre el patrón original, que en el ámbito matemático se denominan Grupos de Simetría. A estas imágenes se les suele llamar "Wallpaper", aunque no hay que confundir su interés con el de ser utilizadas como fondo del escritorio de un entorno de ventanas típico de un computador. La aplicación a realizar será multiplataforma y permitirá mediante un interfaz gráfico la manipulación de los parámetros referidos a la obtención de imágenes, tamaño del patrón, simetrías a aplicar y generación de la imagen final. Página: 7 Capítulo 2: Especificación de requisitos: Materiales y métodos a utilizar: Herramientas a utilizar: •Code::Blocks •Microsoft Visual C++ 6.0 •OpenCV 2.1.0 •Gimp 2.6.8 •Inkscape •Kali •OpenOffice 3.0 •Internet Explorer •Mozilla Firefox •Traductor de Google Instalación de la herramienta utilizada: Adjunto a la memoria el anexo de instalación de toda la herramienta necesaria utilizada en el desarrollo del Proyecto dónde se. El fichero adjunto, de nombre “InstalaciónDeHerramientas.odt”, detalla todo el proceso seguido para el correcto funcionamiento de éstas. Se ha preferido detallar esta parte como anexo a la presente memoria debido a la extensión que ya de por sí abarca esta, además de poder facilitar al usuario, una mejor explicación de los elementos instalados en la realización del presente proyecto. Fundamentos teóricos: Consideremos un conjunto de puntos del plano, al que llamaremos figura F, por ejemplo los puntos pueden ser los puntos pertenecientes a un triángulo o cualquier otro polígono, si bien el conjunto de puntos puede ser tan complicado como podamos imaginar. Llamaremos grupo de simetría de la figura F al conjunto de movimientos del plano que dejan invariante la figura F. Podemos encontrar esta nomenclatura en [Mosaicos2010], en la bibliografía. Una de las formas de empapelar un plano es comenzar con un motivo simple y repetirlo según ciertas reglas. Hay diecisiete formas de empapelar el plano, que fueron clasificadas y nominadas por la Unión Internacional de Cristalografía desde 1952 ya que la simetría tiene mucho que ver con la Cristalografía. Los métodos cristalográficos se apoyan fuertemente en el análisis de los patrones de difracción que surgen de una muestra cristalina al irradiarla con un haz de rayos X, neutrones o electrones. La estructura cristalina también puede ser estudiada por medio de microscopía electrónica. Un material cristalino es aquel en el que los átomos se estructuran en redes basadas en la repetición tridimensional de sus componentes. A la estructura que se repite se le denomina célula o celda cristalina. Los cristales se clasifican según sean las propiedades de simetría de la célula cristalina. Estas propiedades de simetría también se manifiestan en ocasiones en simetrías macroscópicas de los cristales, como formas geométricas o planos de fractura. El estudio de la cristalografía requiere un cierto conocimiento del grupo de simetría. Elementos de una simetría: • Eje de simetría: es una línea imaginaria que pasa a través del cristal, alrededor de la cual, al realizar éste un giro completo, repite dos o más veces el mismo aspecto. Los ejes pueden ser: monarios, si giran el motivo una vez (360º); binarios, si lo giran dos veces (180º); ternarios, si lo giran tres veces (120º); cuaternarios, si lo giran cuatro veces (90º); o senarios, si giran el motivo seis veces (60º). Más información en [Cristalografía-Wikipedia], de la bibliografía. • Plano de simetría: es un plano imaginario que divide el cristal en dos mitades simétricas especulares, Página: 8 como el reflejo en un espejo, dentro de la celda. Puede haber múltiples planos de simetría. Se representa con la letra m. • Centro de simetría: es un punto dentro de la celda que, al unirlo con cualquiera de la superficie, repite al otro lado del centro y a la misma distancia un punto similar. Cabe tener en cuenta que a veces dos categorizaciones distintas son significativas, una basada sólo en formas, y otra basada además con colores. Cuando estos son ignorados, hay que fijarse en que pueden aparecer más simetrías o las que hay pueden aparecer modificadas. En blanco y negro , también hay 17 grupos de Wallpapers, por ejemplo, un mosaico de colores es equivalente a uno en blanco y negro con los colores codificados radialmente en una circular, “código de barras” simétrica en el centro de la masa de cada baldosa. Matemáticamente, un grupo de Wallpapers o un grupo cristalográfico plano es un tipo de grupo topológico discreto de isométrias del plano euclidiano que contiene dos traducciones linealmente independientes. Dos grupos de isometría son del mismo tipo (del mismo grupo de Wallpapers) si son los mismos hasta una transformación afín del plano. Así por ejemplo, una traslación del plano, no afecta al grupo de Wallpapers. Lo mismo se aplica para un cambio del ángulo entre los vectores de traslación, siempre que no se agregue o quite cualquier simetría. Al contrario que en el caso de tres dimensiones, se puede restringir el equivalente transformaciones afines a los que conservan la orientación. Clasificación de las isometrías del plano euclidiano: • Traducciones: Denotado por Tv, donde v es un vector en R2. Esto tiene el efecto de trasladar el plano aplicando el vector de desplazamiento. • Rotaciones: Denotado por Rc, θ, donde c es un punto en el plano (el centro de la rotación), y θ es el ángulo de la rotación. • Reflexiones: Reflexiones o isometrías espejo, denotado por FL, donde L es una línea en R2.(F es de “flip”). Esto tiene el efecto de reflejo en el plano de la línea L, llamado eje de reflexión o espejo asociado. • Reflexiones con desplazamiento: Denotado por GL, d, donde L es una línea en R2, y d es la distancia. Esta es una combinación de una reflexión en la línea L y de traslación a lo largo de L por una distancia d. La condición de las traslaciones independientes: La condición de traslaciones linealmente independientes significa que no existen vectores linealmente independientes v y w (en R2) de tal manera que el grupo contiene Tv y Tw. El propósito de esta condición es para distinguir grupos de simetría en el plano de los grupos de friso, que poseen una traslación, pero no dos linealmente independientes, y de grupos de puntos en dos dimensiones discretas, que no tienen traslación en absoluto. En otras palabras, los grupos de simetría en el plano representan patrones que se repiten en dos direcciones distintas, en contraste con friso de grupos, que sólo repiten a lo largo de un solo eje. La condición discreta: El propósito de esta condición es asegurar que el grupo tiene un dominio fundamental compacto, o en otras palabras, una "célula" de cero, área finita, que se repite a través del plano. Sin esta condición, podríamos tener por ejemplo un grupo que contiene el Tx de traslación para todos los números racionales x, que no corresponden a ningún patrón de fondo de pantalla razonable. Una consecuencia importante y no trivial de la condición de discontinuidad en combinación con la condición de traducciones independientes es que el grupo sólo puede contener la rotación de orden 2, 3, 4, o 6, es decir, cada giro en el grupo debe ser una rotación de 180 ° , 120 °, 90 ° o 60 °. Este hecho se conoce como el teorema de restricción cristalográfica, explicado con más detalle en el siguiente capítulo, y que puede ser generalizado a los casos de dimensiones superiores. Página: 9 Simetría, GSP PMG: El grupo PMG, además de las traslaciones determinadas por dos lados concurrentes de la tesela,contiene giros de orden 2. Además contiene reflexiones, de ejes señalados con doble trazo y reflexiones deslizantes, cuyos ejes son perpendiculares a los ejes de reflexión. El esgrafiado seleccionado de la Imagen 7 se encuentra en Santiuste de San Juan Bautista, provincia de Segovia. Es el único de este grupo que hemos hallado hasta el momento y su estado de conservación no puede calificarse como satisfactorio, pues ha sido recubierto de pintura, perdiendo así las características y utilidad propias del esgrafiado original. Simetría, GSP PGG: El grupo PGG, además de las traslaciones determinadas por dos lados concurrentes de la tesela, contiene giros de orden 2, y reflexiones deslizantes con ejes de direcciones perpendiculares. No contiene reflexiones. La Imagen 8 se encuentra en la fachada de una vivienda en Coca, provincia de Segovia. Simula un muro de sillería con doble llaga, y presenta los lados menores de los sillares inclinados, hecho muy poco frecuente, pues en la mayoría de los casos éstos suelen trazarse siguiendo la vertical. Página: 16 Imagen 7: Simetría del GSP PMG Imagen 8: Simetría del GSP PGG Simetría, GSP CMM: El grupo CMM, además de las traslaciones determinadas por dos lados concurrentes de la tesela, contiene giros de orden 2. T ambién contiene reflexiones. El esgrafiado de la Imagen 9 corresponde a la fachada del edificio situado en la Avda. de Fernández Ladreda, nº 25, en Segovia. Es un losange muy sencillo, cuyo único adorno son los agujeros que aparecen en los vértices de los rombos. Simetría, GSP P4: El grupo P4 contiene las traslaciones determinadas por dos lados concurrentes de la tesela y, además, giros de orden 4 y giros de orden 2. No contiene reflexiones ni reflexiones deslizantes. El esgrafiado de la Imagen 10 se ha tomado de la fachada de la estación de autobuses de Segovia.La mayor parte de dicha fachada se encuentra rellena por otro esgrafiado y éste aparece entre las ventanas situadas en la vertical, a la derecha de la misma. Su diseño incorpora motivos helicoidales o torbellinos en el interior de los círculos, que proporcionan sensación de movimiento. Página: 17 Imagen 9: Simetría del GSP CMM Imagen 10: Simetría del GSP P4 Simetría, GSP P4M: El grupo P4M contiene las traslaciones determinadas por dos lados concurrentes de la tesela, giros de orden 4, giros de orden 2, reflexiones y reflexiones deslizantes. El esgrafiado de la Imagen 11 corresponde a la fachada de la calle del Carmen, de Segovia. Este diseño se obtiene a partir de bandas onduladas que configuran una retícula curvilínea adornada con motivos vegetales. Simetría, GSP P4G: El grupo P4G contiene las traslaciones determinadas por dos lados concurrentes de la tesela y además, giros de orden 4. También contiene giros de orden 2, reflexiones y reflexiones deslizantes. El esgrafiado de la Imagen 12 se ha tomado de la fachada posterior del Hospital Policlínico de Segovia, aunque también aparece en otras fachadas. En él, la retícula definida por las líneas onduladas, conocidas como sinusoides o meandros, no contiene ningún relleno. Cabe señalar que este motivo ha sido utilizado en distintas culturas figurando, por ejemplo, en la Mezquita de Córdoba. Página: 18 Imagen 11: Simetría del GSP P4M Imagen 12: Simetría del GSP P4G Simetría, GSP P3: Presentamos un boceto (Imagen 13, izquierda) de un esgrafiado ubicado en La Velilla, provincia de Segovia, cuya ejecución se realizó siguiendo una disposición de los motivos incompatible con el giro de orden 3 que posee el patrón inicial. El otro boceto (Imagen 13, derecha) es una variante para generar un posible esgrafiado de grupo p3, pues sí mantiene dicho giro de orden 3 y no hay reflexiones. Simetría, GSP P3M1: Mostramos los bocetos de dos esgrafiados, realizados ambos a partir de un motivo triangular que alterna los colores blanco y negro. El primero (Imagen 14, izquierda) corresponde a un esgrafiado segoviano formado por triángulos rectángulos. El segundo (Imagen 14, derecha) simboliza un esgrafiado catalán donde los triángulos son equiláteros y cuyo grupo es P3M1, ya que posee giros de orden 3 y por todo centro de giro pasan ejes de reflexión. Página: 19 Imagen 13: Simetría del GSP P3 Imagen 14: Simetría del GSP P3M1 Simetría, GSP P31M: Observamos en la Imagen 15 el boceto de un esgrafiado segoviano formado por hexágonos cuyo interior contiene un círculo que está rodeado de seis pequeños semicírculos (Imagen 15, izquierda). Basta modificarlo ligeramente, añadiendo un cambio de color alternativamente en tres de los semicírculos (Imagen 15, derecha) para que el máximo orden de giro sea 3, y se convierta en un posible esgrafiado de grupo P31M, pues contiene reflexiones y existen centros de giro de orden 3–los vértices de los hexágonos– por los que no pasan ejes de reflexión. Simetría, GSP P6: El grupo P6 no contiene reflexiones ni reflexiones deslizantes. Es la única imagen no extraida de la ciudad de Segovia. Esta imagen está extraida de la fachada de la iglesia de la Virgen Tobed, en Zaragoza. Página: 20 Imagen 15: Simetría del GSP P31M Imagen 16: Simetría del GSP P6 Simetría, GSP P6M: El grupo P6M contiene las traslaciones determinadas por dos lados concurrentes de la tesela y una gran cantidad de giros, reflexiones y reflexiones deslizantes. El mayor orden de giro es 6. También hay giros de orden 3 y de orden 2. El esgrafiado de la Imagen 17 corresponde a la fachada lateral del edificio situado en la calle Cervantes, nº 24, en Segovia. Proviene de una lacería de origen mudéjar que combina una trama hexagonal con estrellas de seis puntas. Los hexágonos están decorados con una estrella en su centro y cada estrella queda enlazada con las seis estrellas más próximas por la prolongación de sus lados. Página: 21 Imagen 17: Simetría del GSP P6M Capítulo 4: Desarrollo: ¿Cómo se va a desarrollar? La idea a desarrollar es: •Permitir la elección de un motivo (celda básica o elemental) de diseño por parte del usuario, tomada de la cámara o de un fichero. •Componer con esta un patrón, paralelogramo fundamental, según uno de los grupos de simetría, a elección del usuario. •replicar el patrón hasta completar un número de repeticiones o un tamaño de la imagen final, indicados por el usuario. Pasos a seguir: 1. Obtener un motivo de la imagen deseada. 2. Construir a partir del motivo proporcionado, el paralelogramo fundamental. 3. replicar el paralelogramo fundamental. Imagen → Celda unidad (CU) → Paralelogramo Fundamental (PF) → Imagen replicada Operaciones aritmético/lógicas con OpenCV: La Tabla 2 la hemos creado con el objetivo de esclarecer el resultado de las operaciones aritmético/ lógicas que en el presente proyecto son necesarias, y que en diferentes fases se aplican así como anticipar el resultado que producen para posibles futuras ampliaciones y posible ahorro de tiempo. Nota: Se adjunta a la presente memoria el código que genera la siguiente tabla, con el nombre de OperacionesAritméticas.c . Página: 22 Página: 23 MUL Tabla 3: Operaciones Aritmético/Lógicas con OpenCV. ¿Cómo replicar una imagen? La réplica, para todos los paralelogramos, se puede realizar de tres formas distintas: 1. Mediante el uso de áreas de interés ( Region Of Interest, abreviado ROI) utilizado en nuestra función “replicarROI”, en nuestra implementación). Establecemos el PF como área de interés y copiamos esa área tantas veces como quepa en el área de la imagen de destino. Nota: En este primer ejemplo suponemos que el tamaño de la imagen de destino es múltiplo del de la imagen origen. Pseudocódigo: ImagenOrigen, ImagenDestino → Función ReplicaROI → áreaDeInterés=áreaImagenOrigen Mientras((AnchoImagenDestino>AnchoImagenOrigen)&& (AlturaImagenDestino>AlturaImagenOrigen)) → Copia áreaDeInterés en ImagenDestino El resultado de aplicar este algoritmo se puede ver en la Imagen 18: A la izquierda la imagen origen, de tamaño 306x138, a la derecha la imagen origen replicada en la imagen destino, de tamaño 700x700 mediante la instrucción de opencv "cvCopyImage". Página: 24 Imagen 18: Ejemplo de réplica mediante región o área de interés. 2. Mediante la copia punto por punto (método “réplicaSetGet”). Recorro la imagen de Destino, guardándome en un escalar la asociación de puntos de la imagen de destino con los puntos de la imagen de origen, para posteriormente establecer los puntos finales en la imagen de destino con la ayuda del escalar antes mencionado. Pseudocódigo: ImagenOrigen, ImagenDestino → Función ReplicaROI → Recorrido punto a punto de ImagenDestino → en cada punto recorrido, copio el punto que corresponde de la ImagenOrigen. Esto último se consigue mediante: ((CoordenadaYImagenDestino)%(AlturaImagenOrigen))y((CoordenadaXImagenDestino)% (AnchoImagenOrigen)). En la Imagen 19, puede verse a la izquierda la imagen origen, de 306x138, y a la derecha la imagen de origen replicada punto por punto en la imagen destino, de tamaño 700x700. 3. Y cuando la imagen de destino tiene un tamaño que no es múltiplo de la imagen de origen, ¿como realizar la réplica? En la Imagen 20 puede verse que la imagen de destino (a la derecha, de 700 x 700 ) no es múltiplo de la imagen de origen (a la izquierda, de 306 x 138). Página: 25 Imagen 19: Ejemplo de réplica mediante el método “réplicaSetGet”. PM(GSP 3): Descripción: Es el primer grupo de simetría en que se da la reflexión. El eje de reflexión es paralelo a uno de los de traslación y perpendicular al otro ( normalmente la traslación vertical y la reflexión horizontal). La rejilla es rectangular y la CU un rectángulo. Tabla 6: Caracterización de las simetrías interiores del GSP PM, ejemplo de PF y CU. En la Tabla 6, vemos reflejada la reflexión característica del GSP 3 en la imagen de simetría. Si cogemos la CU o parte amarilla puede verse la reflexión en la parte superior. En nuestro PF se ve claramente como existen dos polígonos enfrentados o encarados entre sí, que se asemejan a dos rectángulos enfrentados. Si cogemos y partimos por la mitad, justo por el centro del cuadrado que los une, obtenemos la CU característica de este CU. Página: 32 Generación del PM(GSP 3) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría PM con los siguientes pasos: 1. Establecemos el PF de tamaño igual de ancho y doble de alto que la CU. 2. Copiamos la CU en la mitad superior del PF. 3. Si ahora copio la CU original reflejada en la mitad inferior del PF completo a este y obtengo el PF para replicar de un PM. El PM se encuentra reflejado en el fichero pm.c del código fuente aportado. El resultado de ejecutarlo puede verse en la imagen 24. Para probarlo es necesario hacer lo mismo que en P2. Página: 33 PG(GSP 4): Descripción: En este grupo ya aparece la simetría con deslizamiento, pero no se dan rotaciones ni reflexiones. La dirección de deslizamiento es paralela a la de traslación y perpendicular a la de simetría. La rejilla es rectangular y la CU la mitad de un rectángulo. Tabla 7: Caracterización de las simetrías interiores del GSP PG, ejemplo de PF y CU. En la Tabla 7 tenemos la combinación de una reflexión con un desplazamiento o deslizamiento, característico de este GSP y que si nos fijamos en la figura de simetría podemos ver que la letra F mayúscula aparece a la derecha de la CU o zona amarilla, donde el soporte de la letra es decir el palo que sostiene a los otros dos de menor tamaño, aparece aquí al otro lado del eje de simetría. En el PF vemos que tenemos dos triángulos azules, uno en la mitad superior apuntando con uno de sus vértices hacia la mitad del PF y el otro en la mitad inferior apuntando con su vértice hacia la mita de la base del PF, más o menos. Si dividimos por la mitad de altura a este PF, obtenemos la CU característica del GSP. Página: 34 Generación del PG(GSP 4) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría PG con los siguientes pasos: 1. Creamos el PF de tamaño igual de ancho y doble de alto que la CU. 2. Copio la CU en la mitad superior del PF. 3. Divido la CU copiada en PF en dos mitades, reflejo la letra F y la copio en el PF trasladada, es decir, mitad inferior, parte izquierda. 4. Analogamente reflejo la letra A y la copio trasladada en la mitad inferior, parte derecha, de nuestro PF para acabar formando el PF completo que servira para replicar el PG. El grupo de simetría en el plano GSP4 se identifica en el código con el fichero pg.c. Se puede ejecutar para obtener la imagen 25. Sólo se descomenta el main y se comenta justo antes del return como en P2 y PM. Página: 35 CM(GSP 5): Descripción: En este GSP se dan reflexiones y reflexiones con deslizamiento pero no rotaciones. La dirección de deslizamiento puede formar cualquier ángulo, pero el eje de reflexión debe ser bisectriz de los de deslizamiento. La rejilla es romboide y la CU es la mitad del rombo. Tabla 8: Caracterización de las simetrías interiores del GSP CM, ejemplo de PF y CU. En la tabla 8 vemos el primer triángulo característico como CU. En nuestro caso cogemos la parte superior del rombo. A partir de este podemos ver que la simetría que requiere este GSP para su PF es el mismo triángulo reflejado y desplazado colocado en la diagonal inferior del rombo. De esta forma el PF adquiere la forma de paralelogramo. Página: 36 Generación del CM(GSP 5) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría CM con los siguientes pasos: 1. Creamos un PF con forma rectangular a partir de los vértices del triángulo que se le pasa como CU. Es decir con el doble de área que la CU. 2. Trazamos una diagonal sobre el PF desde el punto mas bajo a la izquierda hasta el mas alto a la derecha dividiendo el PF en dos áreas triángulares iguales. 3. Copiamos en la parte inferior derecha del PF la CU. Copiamos en la parte superior e izquierda la CU reflejada y desplazada. El CM corresponde al fichero cm.c en el código fuente aportado. Es el primer fichero dónde la CU no es rectangular. El resultado puede verse en la imagen 26. A la hora de probar hay que hacer como en anteriores grupos. Página: 37 PMM(GSP 6): Descripción: Este grupo se forma con dos reflexiones de ejes de simetría perpendiculares. No se da reflexión con deslizamiento pero si centros de giro binarios (180º) en las intersecciones de los ejes de simetría. La rejilla es rectangular, que puede tomarse como base para construir el mosaico a base de traslaciones y la CU la mitad del rectángulo. Tabla 9: Caracterización de las simetrías interiores del GSP PMM, ejemplo de PF y CU. En la Tabla 9 se observa como el PF esta formado a modo de “Estrella” virtual de 4 vertices según el Mosaico que hemos elegido. Puede verse también que la CU la constituye una única arista o brazo de la “Estrella” del PF, que en la parte superior izquierda del PF aparece rotada 180º, si tomamos como centro de la rotación la mitad en ancho del PF, o lo que es lo mismo el total de ancho de la CU. Y análogamente, con la diagonal inversa del PF. Generación del PMM(GSP 6) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de Página: 38 simetría PMM con los siguientes pasos: 1. Creamos un PF de tamaño doble de ancho y de alto que el tamaño de la CU. 2. Copiamos la CU original en el cuadrante superior izquierdo del PF. 3. En la parte inferior izquierda del PF copiamos la CU original reflejada. 4. Ahora simplemente nos queda, si cogemos la mitad superior e inferior izquierda de nuestro PF reflejarla en su parte derecha y ya tenemos el PF listo para replicar para el grupo PMM. El PMM lo encontramos en el fichero pmm.c del código adjunto. Al ejecutarlo puede verse la imagen 27. Página: 39 PMG(GSP 7): Descripción: Los mosaicos que pertenecen a este grupo se forman mediante reflexiones y rotaciones de 180º ( ejes binarios). El centro de rotación es el punto medio del lado que no es el eje de reflexión. La rejilla es rectangular y la CU la mitad del rectángulo. Tabla 10: Caracterización de las simetrías interiores del GSP PMM, ejemplo de PF yCU. En la Tabla 10 vemos la síntesis del PF a su CU correspondiente, eliminando de forma visual desde la mitad en altura del PF y quedándonos solo con su parte inferior derecha. Si colocamos el centro de rotación tal y como se dijo anteriormente, es decir en nuestro caso en el eje horizontal (no en los ejes de reflexión, verticales en este caso), y rotamos 180º ,podemos ver que se cumple lo preestablecido. E nuestro PF puede observarse fácilmente la CU desde el PF ya que es una 4ª parte de la rejilla, concretamente la parte inferior izquierda de nuestro PF. Hemos Página: 40 elegido esa como CU como podíamos haber elegido justo la parte superior derecha, izquierda o la inferior derecha. Generación del PMG(GSP 7) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría PMG con los siguientes pasos: 1. Creamos un PF de tamaño doble de ancho y de alto que el tamaño de la CU. 2. Copiamos la CU original en el cuadrante superior izquierdo del PF creado. 3. Sobre el mismo cuadrante que hemos copiado la CU original, es decir sin sobreescribir, copiamos la CU reflejada. 4. Copiamos el cuadrante que ya tenemos en la mitad inferior, izquierda y derecha, y en la parte superior derecha del PF. El PMG se construye en el fichero de nombre pmgbis.c. Se llama con este nombre ya que el fichero pmg.c es una primera prueba, sin la imagen utilizada normalmente como patrón. Si el pmgbis.c se ejcuta puede verse la imagen 28 correspondiente a un grupo PMG. Página: 41 P4M(GSP 11): Descripción: Se diferencia del anterior en que también tiene reflexiones además de giros de 90º y 180º. Los ejes de simetría forman ángulos de 45º entre si y se cortan en el centro de giro de 90º. La trama es cuadrada y la CU es el triángulo mitad del cuadrado. Tabla 14: Caracterización de las simetrías interiores del GSP P4M, ejemplo de PF y CU. En la Tabla 14 cogemos como PF la imagen que se ve arriba, formada por una figura con forma de flor, con 8 barras rojas situadas de forma circular alrededor del centro, formado este por otra flor de 4 barras rojas también circulares. Si nos fijamos en cada esquina del PF, tenemos algo así como un bigote pintado en negro, se trata de sintetizar tomando como referencia la esquina, y partir este aparente bigote por la mitad, en nuestro caso, hemos elegido el bigote de la esquina inferior, y hemos sintetizado su mitad derecha como CU. Página: 48 Generación del P4M(GSP 11) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría P4G con los siguientes pasos: 1. Creamos un PF de ancho y de alto doble de la base y de la altura de la CU(Triángulo). 2. Copiamos la CU en el cuadrante inferior izquierda, en la base del cuadrante. 3. Copiamos la CU reflejada y rotada 90 grados a la izquierda en el cuadrante inferior izquierda, en la diagonal superior del cuadrante. 4. Ahora cogemos el cuadrante inferior derecha entero anteriormente formado y lo copiamos reflejado en el cuadrante superior izquierda. 5. Si cogemos ahora toda la mitad izquierda, tanto inferior como superior del PF, que ya tenemos rellena, y la reflejamos entera en la parte mitad derecha del PF ya tenemos completo al mismo y la parte entera a replicar. El P4M se identifica en el código C con el nombre de p4M.c. Puede verse al ejecutarlo la imagen que resulta es igual a la imagen 32. Página: 49 P4G(GSP 12): Descripción: También tiene reflexiones además de giros de 90º, pero los ejes de simetría son perpendiculares y no pasan por los centros de giro. La trama es cuadrada y la CU es el triángulo mitad del cuadrado. Tabla 15: Caracterización de las simetrías interiores del GSP P4G, ejemplo de PF y CU. En la Tabla 15 tenemos la síntesis de la CU desde su PF de este GSP, parecida a la del grupo anterior, solo que cambian las diagonales del cuadrante seleccionado a la hora de realizar la misma. En nuestro caso y como en el caso anterior hemos dividido el PF en 4 cuadrantes y hemos seleccionado el cuadrante con vertice situado mas bajo. A partir de aquí trazamos la diagonal desde el punto superior izquierda hasta el punto inferior derecha de este mismo cuadrante y obtenemos la CU. Página: 50 Generación del P4G(GSP 12) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría P4G con los siguientes pasos: 1. Creamos un PF de ancho y de alto doble de la base y de la altura de la CU(Triángulo). 2. Copiamos la CU en el cuadrante inferior izquierda, en la parte superior del cuadrante. Si trazamos una diagonal desde el punto superior izquierda de este cuadrante al punto inferior derecha y dividimos el área (del cuadrante) en dos, pues seria copiar la CU en la parte superior. 3. Posteriormente, si reflejo la CU, y a demás la roto 90 grados a la derecha, y lo copio en la diagonal inferior del cuadrante inferior izquierda, completo el cuadrante por el que he inicado la construcción del PF. 4. Si ahora cojo el cuadrante ya formado en mi PF (el inferior izquierda) y lo roto 90 grados a la derecha y lo copio en cuadrante inferior derecha completo mi mitad inferior del PF. 5. Ahora roto el cuadrante inferior izquierda 90 grados a la izquierda y lo copio en el cuadrante suerior izquierda. 6. Por último roto el cuadrante inferior derecha 90 grados a la derecha y lo copio en el cuadrante superior derecha y completo así el PF en su totalidad. El grupo P4G lo implementamos en el código del fichero con nombre p4G.c. Si lo ejecutamos obtenemos la imagen 33 aquí representada. Página: 51 P3(GSP 13): Descripción: Es el grupo más sencillo con giros de 120º (tercer orden) y el primero en que la rejilla es hexagonal. Tabla 16: Caracterización de las simetrías interiores del GSP P3, ejemplo de PF y CU. En la Tabla 16 se trata de dividir el PF en dos triángulos del mismo ancho (mitad del PF), uno rotado 180º respecto del otro. Cada triángulo a su vez se divide en 3 subtriángulos, iguales en tamaño. Siguiendo el ejemplo de la imagen de simetría hemos intentado sintetizar del PF la CU, tomando como referencia la esquina superior izquierda del PF, pasando por el centro del triángulo color morado, y acabando la polilínea en la esquina inferior derecha. Así, tenemos un lado del rombo que forma la CU. Partiendo de la misma esquina que el anterior, y pasando por el centro del circulo verde de la imagen, acabamos el rombo de la CU en el mismo punto también que el anterior. Página: 52 Generación del P3(GSP 13) a partir de la Celda Unidad: Hasta aquí se ha descrito una metodología aplicable a cualquier tamaño de imagen de partida es decir, n x m siendo n el ancho y m la altura de la misma. El paralelogramo fundamental (PF) de tipo P3 es un rombo formado por dos triángulos equiláteros y los centros de giro están situados como en la imagen 34. El PF del grupo P3 cuenta con cuatro centros de rotación de orden tres (120º) en los vértices pintados en la imagen 35 con color rojo, además de los situados en el centro de cada triángulo en que se divide, también de orden tres (120º) , y diferenciados en la misma imagen por los colores azul y verde. Puede verse además, en la imagen 35, una zona pintada en color amarillo que abarca zonas de ambos triángulos y que podría considerarse como CU a la hora de construir el PF del P3. En un P3 el orden máximo de los giros es 3 y no aparecen reflexiones ni reflexiones con desplazamiento. Página: 53 Imagen 34: Aspecto de un PF del grupo P3. Considerando que un PF de un P3 está formado por dos triángulos equiláteros (Imagen 36b), el de la derecha con un color plano (verde) y el de la izquierda con otro (naranja) siguiendo además con el motivo alfabético que hemos venido utilizando. Para formar uno de los dos triángulos equiláteros que forman el PF del P3, vamos a coger el situado más a la izquierda en la imagen 36, apartado c (el de color naranja). Este se puede descomponer a su vez en tres triángulos, como muestra la imagen 37. Los tres son iguales y son una variante de uno de ellos (nosotros hemos cogido el de base,de color azul, como primero) girado 120 grados en el punto de centro de rotación interior del original P3, por tanto el ángulo de ese vértice, de cada subtriángulo es 360/3 = 120. De este modo, se puede construir uno y replicarlo para obtener uno de los dos triángulos de la imagen 36, apartado c. De forma análoga a los anteriores grupos nosotros, a partir de una imagen proporcionada por el usuario, construiremos un PF característico de un grupo de simetría P3, que luego usaremos para replicar en la imagen destino. Página: 54 Recordando un poco: Imagen Origen → Celda unidad (CU) → Paralelogramo Fundamental (PF) → Imagen replicada. Nosotros vamos a tomar como imagen origen, proporcionada por el usuario, el triángulo izquierdo de color naranja de la imagen 36 apartado c. Ahora vamos a empezar a construir el triángulo isósceles de base, y que utilizaremos como CU, representado por el área de color azul en la imagen 37, apartado b. Cabe señalar que este triángulo será usado como máscara sobre la imagen origen y que luego lo rotaremos dos veces, 120º y -120º,copiando estas rotaciones en la imagen destino, para dar forma al apartado d de la imagen 37, dónde la zona morada representa al triángulo azul rotado 120º y la zona gris al triángulo azul rotado -120º. Puede observarse en dicho triángulo que su arista más elevada representa un centro de rotación de orden 3 (120º). Hay que fijarse en que este triángulo base es un triángulo isósceles (Imagen 38). Un triángulo isósceles es aquel que tiene iguales dos lados y dos ángulos. La suma de los ángulos interiores de un triángulo es igual a 180º. Puede verse en la imagen 38 que los ángulos en la base del triángulo son los mismos. Por tanto si nosotros estamos construyendo el triángulo de color azul de la imagen 37, del apartado b, representado ahora por la imagen 38, y sabemos que en el punto A hay 120º por ser un punto de rotación de orden 3 y ser el centro del triángulo equilatero que estamos construyendo, y además sabemos que en un isósceles los dos ángulos de base son iguales, que en la imagen 38 se representan por el punto B, podemos establecer la siguiente ecuación: A + 2B=180º. Sustituyendo en A tenemos que 120º + 2B=180º. Ahora podemos determinar B=(180º-120º)/2 ===> El ángulo en B=30º. El punto H representa el punto medio de la base del triángulo isósceles. Si trazamos una línea desde el punto A al punto H conseguimos dividir el triángulo isósceles en dos triángulos rectángulos iguales. Obtenemos así los siguientes tres valores de ángulos mostrados en la Imagen 39: Página: 55 Imagen 38: Triángulo isósceles Una vez sabido esto, podemos empezar a construir nuestro triángulo isósceles que nosotros utilizaremos como CU para construir el PF. Derivación paramétrica en nuestro ejemplo: Tomando una imagen de origen de n x m, siendo n el ancho y m la altura: Si nuestra imagen de origen mide n de ancho, nuestro triángulo isósceles que utilizaremos como máscara también medirá n de ancho. Por tanto cada uno de los dos triángulos equiláteros en los que se dividirá medirá de ancho n/2. Página: 56 Imagen 39: Ángulos del triángulo equilátero izquierdo, de los dos en los que se divide el isósceles de la imagen 38. Imagen 40: Ancho de los triángulos equiláteros en que se divide el isósceles. Para hallar el punto A representado en las imágenes 38, 39 y 40 en nuestra imagen origen es necesario considerar cómo se calculan las proyecciones de un vector en los ejes de coordenadas (Imagen 41). Trazamos ejes de coordenadas x y con origen en la cola del vector V. Se trazan perpendiculares desde la punta del vector V a los ejes x e y, determinándose sobre el eje x la proyección X, llamada Ax, y sobre el eje y la proyección Y, llamada Ay. Por tanto a raíz de la imagen 41 podemos determinar: 1) ||V||*cos(α)=Ax. 2) ||V||*sen(α)=Ay. Si tenemos que α=30º, como hemos visto en la imagen 40, sustituyendo tenemos que: ||V||*cos(30º)=n/2. ||V||*sen(30º)=Ay. Por tanto, tenemos que Ax=n/2, y Ay=(Ax/cos(30º))*sen(30º). Si suponemos, sin pérdida de generalidad, que tenemos una imagen n=m=300: Es el momento de realizar los cálculos para este tamaño de imagen: Sustituyendo en la primera ecuación tenemos que: ||V||*cos(30º)=n/2 ==> ||V||*cos(30º)=(300/2) ==>||V||=(150)/cos(30º) ==>||V||=173,2050 y sabiendo ||V|| podemos sustituir en la segunda ecuación: ||V||*sen(30º)=Ay ==>Ay=(173,2050)*sen(30º) ==>Ay=86,6025 Por tanto, el valor del punto A en nuestra imagen origen se sitúa en 300-86,6025=213,3975. Así pues A=213,3975 y el triángulo que tenemos que construir tendrá 300 de ancho (o de base) y su vértice más alto irá hasta el punto A, en la imagen origen. Página: 57 Imagen 41: Proyecciones de un vector V. giros de 120º. La malla es también hexagonal pero la CU es un triángulo obtusángulo. Tabla 18: Caracterización de las simetrías interiores del GSP P31M, ejemplo de PF y CU. En la Tabla 18, mostramos la síntesis de CU a partir de su PF para este GSP, siendo muy parecida esta a la del P3, ya que el PF también se constituye en dos triángulos, y estos a su vez en otros 3 subtriángulos.Es facil ver los dos triángulos en la imagen PF, siendo uno l aparte amarilla y el otro la parte más azul. En nuestro caso hemos cogido la parte amarilla y hemos cogido el triángulo de base. Generación del P31M(GSP 15) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría P31M con los siguientes pasos: 1. A partir de la CU (Triángulo), generamos un triángulo de igual tamaño y lo copiamos girado 120 grados a la derecha sobre la CU. 2. Ahora generamos un triángulo de igual tamaño y lo copiamos girado -120 grados a la izquierda sobre la CU. Página: 64 En este punto hemos formado un nuevo triángulo de área más grande a partir de otros 3 más pequeños ( 3 veces la CU). 3. El siguiente paso es reflejar este nuevo triángulo, rotarlo 180 grados respecto al mismo y copiarlo así al lado del original. Con esto ya tenemos el PF completo. P6(GSP 16): Descripción: En este grupo cristalográfico se dan rotaciones de 60º (orden 6). También contiene giros de órdenes 2 y 3, pero no reflexiones. Su malla y su CU son hexagonales. Página: 65 Tabla 19: Caracterización de las simetrías interiores del GSP P6, ejemplo de PF y CU. En la Tabla 19 se ve que en la síntesis de CU a partir del PF, también se dividide este de forma análoga al P3, de tal forma que nosotros aquí nos hemos quedado con el subtriángulo del lado izquierdo del triángulo más a la izquierda, si se divide el PF en dos. Página: 66 Generación del P6(GSP 16) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría P6 con los siguientes pasos: 1. A partir de la CU (Triángulo), generamos un triángulo de igual tamaño y lo copiamos girado 120 grados a la derecha sobre la CU. 2. Ahora generamos un triángulo de igual tamaño y lo copiamos girado -120 grados a la izquierda sobre la CU. En este punto hemos formado un nuevo triángulo de área más grande a partir de otros 3 más pequeños ( 3 veces la CU). 3. Ahora solo queda copiar este ultimo triángulo creado rotado 180 grados respecto al original y colocarlo a la derecha de este. Así, ya tenemos el PF completo. Página: 67 P6M(GSP 17): Descripción: Contiene giros de 180º, 120º y 60º además de reflexiones que pasan por todos los centros de giro. En los centro de orden 6 se cortan seis ejes de simetría formando ángulos de 30º. La rejilla y la CU son hexagonales. Tabla 20: Caracterización de las simetrías interiores del GSP P6M, ejemplo de PF y CU. En la Tabla 20 visualizamos la síntesis de CU. Tenemos dos triángulos en el PF pintados en negro a modo de hélices, uno en la mitad izquierda y otro en la mitad derecha. Nosotros hemos cogido el de la parte izquierda, el triángulo con vértices en el centro de la hélice, en la esquina inferior, y en el centro del PF, como CU. Página: 68 Generación del P6M(GSP 17) a partir de la Celda Unidad: A partir de nuestra celda unidad tomada como patrón, realizamos la construcción de un PF para el grupo de simetría P6M con los siguientes pasos: A partir de la CU (Triángulo), generamos un triángulo de igual tamaño y lo copiamos reflejado, y rotado 180 grados respecto de la CU original. 1. Ahora reflejamos los dos triángulos que ya tenemos, CU original y el anterior, y los copiamos a partir de estos rotados 60 grados. 2. Posteriormente reflejo estos dos últimos triángulos de nuevo, para copiarlos a continuación de los mismos, rotados 180 grados. 3. Llegados a este punto tenemos, un nuevo triángulo formado por 6 veces la CU(es decir, 5 +1(CU original) triángulos CU reflejados y rotados sobre la original). 4. Solo queda por tanto, coger este nuevo triángulo de área más grande, rotarlo 180 grados y copiarlo al lado del mismo para obtener el PF completo. Página: 69 Capítulo 5: Conclusiones y/o futuras ampliaciones: Llegados a este punto hemos conseguido la realización de 12 grupos de simetría del plano de los 17 que marcamos como objetivo final. Los 5 grupos que no hemos conseguido realizar son, P3, P3M1, P31M, P6 y P6M. Nuestro PFC lee de disco una imagen, y construye los 12 grupos: P1, P2, PM, PG, CM, PMM, PMG, PGG, CMM, P4, P4M y P4G a partir de ella. La imagen puede ser la que el usuario desee. Para cambiarla basta con cambiar el nombre con extensión .jpg o .png que hay en el código C según el grupo que deseemos cambiar. El principal problema que nos hemos encontrado ha sido el establecimiento de la máscara de un P3, básica para la construcción del mismo, y que nos ha llevado a la realización de una serie de cálculos matemáticos plasmados en el apartado del mismo grupo P3, en la presente memoria del PFC donde además de dichos cálculos hemos aportado la información teórica que hemos visto oportuna. Página: 70 Capítulo 6: Posibles aplicaciones prácticas del PFC: Fuera del uso de los interfaces Code::Blocks o Visual C++ la aplicación creada puede utilizarse para: Mamparas de lámparas con motivos decorativos : Por medio de la realización de los PF comentados en esta memoria de PFC podemos diseñar cualquier forma que toma cualquiera de los 17 grupos de simetría en el plano, y tomarla como patrón , plasmando y replicando esto en un papel adecuado, podemos recortar dichas formas a nuestro gusto, para finalmente dar forma a una estructura esférica juntando los recortes realizados. Por ejemplo podemos construir esferas como las que a continuación se muestran : Para la fabricación de una lámpara de este tipo hay que imprimir en papel adecuado, es decir resistente al calor que emita la bombilla, las diferentes partes que va a contener la esfera que forma la lámpara. Según el diseño que elijamos y el tamaño que le queramos dar a la esfera, la estructura de la lámpara se dividira en más o menos partes. En el ejemplo de M.C. Escher, [M.C. Escher, Heesch Tile] de la blibliografía de la presente memoria (página 62), donde se indica la url que detalla este ejemplo paso a paso, se construye una esfera de 25,4 cent de diámetro (10 pulgadas). Posteriormente se recortan las múltiples partes que forman la esfera, para luego encajarlas a modo de puzzle. En nuestro caso, y a la hora de hacer el cálculo oportuno de las partes que formarán la esfera, es necesario tener en cuenta el cable de la bombilla interior, para dar un hueco de margen en la base. Nota: Si se quiere construir el ejemplo es importante usar papel adecuado y no cartón que es lo que este utiliza. Generador de Wallpapers: La aplicación también puede ser usada como un generador de wallpapers. Como en X3D studio, kali o inkscape, estos dos últimos utilizados aquí, que permiten generar wallpapers de una manera sencilla, con una serie de elementos gráficos predefinidos. Además en un futuro nuestra aplicación podría ser utilizada online, sin necesidad de instalar ninguna de las anteriores aplicaciones mencionadas, y permitiendo desarrollar a nuestro gusto sin necesidad de ocupar demasiado espacio en el equipo, siendo el código aquí proporcionado también libre y al alcance de cualquier usuario Página: 71 Imagen 48: Ejemplo de uso de la aplicación del PFC. Fabricación de una esfera de 10 pulgadas de diámetro. interesado. Esto también podría ser añadido a sistemas operativos propios de la tecnología móvil, tales como iOs, sistema operativo característico de la marca Apple, integrado tanto en sus equipos informáticos, como en los teléfonos móviles “iphone”, o a Android, sistema operativo basado en linux, donde el código es “libre”, y permite a cualquier usuario desarrollar su propio script o programa e integrarlo al teléfono sin coste alguno para él. Nuestra herramienta se podría integrar a los teléfonos, o mejor dicho “smartphones”, y a través de las cámaras integradas en ellos, capturar imágenes y facilitar su tratamiento a gusto del usuario. Otros: En General, la aplicación se puede usar para casi cualquier tipo de diseño, ya sea Web, mediante la generación de imágenes digitales y aplicables al diseño de cualquier Web mediante archivos css, o bien decorativo de interior y exterior, aplicable a cualquier espacio, mediante la construcción de mámaparas para lámparas como las antes mencionadas, así como el papel que utilizamos para empapelar habitaciones o estancias de un piso o chalet. Página: 72 Imagen 49: Imagen de un GSP P4 replicado utilizado como Wallpaper en Windows Vista. Página: 73 Imagen 50: Empapelado de pared decorativo.