PAJARITA NAZARÍ

Una joya de la Alhambra

GEOMETRÍA

Introducción

Autor: Luis Barrios Calmaestra

En la Alhambra de Granada se pueden encontrar una gran cantidad de mosaicos extraordinarios.

La pajarita nazarí es uno de los mosaicos más conocidos y más utilizados en la Alhambra. Se obtiene a partir del recubrimiento del plano con triángulos equiláteros.

Pajarita Nazarí

Canvas Interactivo

Observaciones

Dibuja distintos formatos

Video-Captura de la construcción

Practica aquí

Se puede cambiar la red en el canvas

Red de cuadrados

Red de exágonos (o hexágonos)

Cambiando los radios

El patrón

En los siguientes vídeos se ha destacado el comportamiento de los centros de cada arco en una pajarita

Retícula triangular

Retícula cuadrangular

 

Escenas con Desmos

Equilatero, arcos en medio lado

Vista previa de Desmos

Cuadrado, arcos en medio lado

Vista previa de Desmos

Exágono, arcos en medio lado

Vista previa de Desmos

Exágono, arcos en lado completo

Vista previa de Desmos

 

Encuentra el azulejo patrón

En este enlace saldrán diversos mosaicos y podrás intentar encontrar el azulejo patrón

Patrón del mosaico de la izquierda

 

Hemos probado a realizar los mosaicos con diversas herramientas, que dejamos aquí recogidas

Mosaicos Con javascript

Mosaicos por Ireno Fernández Rubio

Matriz 1 de orden 4x4

Matriz 2 de orden 6x6

Matriz 3 de orden 8x8

Juego de simetría

Carga la matriz

Carga-Guarda la matriz y el periodo

Crea un mosaico de una foto (azulejo rectangular)

Crea distintos mosaicos seleccionando un cuadro de una foto

Estas dos páginas anteriores pueden ser usadas conjuntamente, se elige con la última un mosaico que nos guste, y al hacer clic o pulsar manteniendo el cuadro rojo se puede guardar esa imagen y cargarla en la otra página

Crea un mosaico de una foto (azulejo triangular)

Crea distintos mosaicos seleccionando un triángulo de una foto

Estas dos páginas anteriores pueden ser usadas conjuntamente, se elige con la última un mosaico que nos guste, y al hacer clic o pulsar manteniendo el triángulo rojo se puede guardar esa imagen y cargarla en la otra página

Matrices módulo 2 y simetrías

Con javascript. Operaciones con matrices (módulo 2)

Potencias del Hueso Nazarí

Potencia de matrices 6x6 Módulo 2

Potencias del Avión Nazarí

Potencia de matrices 7x7 Módulo 2

Potencias de la pajarita Nazarí

Potencia de matrices 20x20 Módulo 2

Potencias dibujando en la rejilla

Potencia de matrices 20x20 Dibujando

Potencias de M · Mtrasp 20x20 Dibujando

Potencias de M^-1 20x20 Dibujando

Potencias de la inversa

Suma de matrices Módulo 2

Producto de matrices 6x6 Módulo 2

Producto de matrices 3x3 Módulo 2

Suma de potencias de matrices

Códigos QR

Los códigos QR son matrices en módulo 2 que mantienen su estructura y pueden ser interpretados correctamente incluso si se aplican transformaciones simétricas. Si introduces la matriz de un QR en cualquiera de los enlaces anteriores, notarás que el código sigue siendo legible en cualquier orientación.

La imagen muestra distintas simetrías del QR original y demuestra que al escanear su versión MVH (es decir, aplicando un volteo vertical y otro horizontal), el código aún puede ser leído correctamente. Esto confirma que un QR es legible en cualquier posición, sin importar si ha sido rotado, reflejado o volteado.

Matriz del QR 29x29

 

Enlace para transformar el QR en una matriz

De QR a matriz

Este enlace comete algunos errores, pero acierta bastante.

Cómo funciona un Código QR

Un código QR es una matriz de ceros y unos con una estructura específica para almacenar información escaneable.

Estructura de un Código QR

  • Patrones de Posicionamiento: Tres cuadrados en las esquinas para la detección del QR.
  • Patrones de Alineación: Pequeños cuadrados para corregir distorsiones.
  • Zona de Silencio: Un margen blanco alrededor del código.
  • Patrón de Sincronización: Líneas alternadas para estructurar la matriz.
  • Datos Codificados: La información en binario con corrección de errores.

Ejemplo de una Matriz QR Simple

1111111 0000001 1111111 ........... 1111111 0000001 1111111
1000001 1011101 1000001 ........... 1000001 1011101 1000001
1011101 1011101 1011101 ........... 1011101 1011101 1011101
1000001 1011101 1000001 ........... 1000001 1011101 1000001
1111111 0000001 1111111 ........... 1111111 0000001 1111111
..........................................................
..Datos codificados en zig-zag con bits de corrección...
..........................................................
    

Genera tu propio Código QR

Introduce un texto o enlace para generar un código QR:

 

En esta página se explica algo más cómo funcionan y se construyen los QR

Aplicaciones de las matrices módulo 2

Detección de Errores en Transmisión de Datos, introducción a los códigos Hamming

Adivina donde está el error

Un vídeo de 3Blue1Brown

Detección de Errores en Transmisión de Datos (Código de Hamming 7,4)

📌 Contexto

Imagina que queremos enviar 4 bits de información a través de una red, pero sabemos que pueden ocurrir errores durante la transmisión. Para proteger la información, usamos un código de detección de errores basado en matrices módulo 2.

Paso 1: Matriz Generadora \( G \)

Para enviar un mensaje de 4 bits \( (m_1, m_2, m_3, m_4) \), lo transformamos en 7 bits de código agregando 3 bits de paridad. Usamos la matriz generadora \( G \):

\[ G = \begin{bmatrix} 1 & 0 & 0 & 0 & 1 & 1 & 0 \\ 0 & 1 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 & 1 & 1 & 1 \end{bmatrix} \]

Paso 2: Codificación del Mensaje

Supongamos que queremos enviar el mensaje:

\[ m = [1, 0, 1, 1] \]

Calculamos el código multiplicando el mensaje por \( G \) en módulo 2:

\[ c = m \cdot G \mod 2 \]

El mensaje original se convierte en el código transmitido:

\[ c = [1, 0, 1, 1, 0, 1, 0] \]

Paso 3: Simulación de Error en la Transmisión

Supongamos que se altera un bit durante la transmisión. Recibimos:

\[ r = [1, 1, 1, 1, 0, 1, 0] \]

(El segundo bit cambió de 0 a 1 por un error en la transmisión).

Para detectar el error, usamos la matriz de paridad \( H \):

\[ H = \begin{bmatrix} 1 & 1 & 1 & 0 & 1 & 0 & 0 \\ 1 & 1 & 0 & 1 & 0 & 1 & 0 \\ 1 & 0 & 1 & 1 & 0 & 0 & 1 \end{bmatrix} \]

Calculamos el síndrome de error:

\[ s = H \cdot r^T \mod 2 \]

Obtenemos:

\[ s = [1, 0, 1] \]

Paso 4: Localización del Bit Erróneo

Cada posible síndrome \( s \) está asociado a una columna de la matriz \( H \). Comparando con las columnas de \( H \), vemos que la columna 2 es exactamente \( [1, 0, 1] \), lo que indica que el bit 2 fue alterado.

Paso 5: Corrección del Error

Ahora corregimos el error invirtiendo el bit en la posición 2 del mensaje recibido:

\[ r = [1, 1, 1, 1, 0, 1, 0] \Rightarrow [1, 0, 1, 1, 0, 1, 0] \]

🚀 Conclusión: ¿Por qué es útil este método?

  • Corrección de errores en telecomunicaciones y almacenamiento de datos (WiFi, discos duros, memorias USB).
  • Usado en códigos de Hamming, códigos Reed-Solomon y códigos LDPC, que protegen datos en CD, DVD y redes.
  • Las operaciones en \( \mathbb{F}_2 \) (módulo 2) permiten cálculos rápidos y eficientes en hardware digital.

¡Este es un ejemplo real y práctico donde las matrices módulo 2 tienen una aplicación crucial!

Criptografía con Matrices Módulo 2: McEliece Cryptosystem 🔐

📌 Contexto

La criptografía moderna necesita sistemas seguros frente a ataques cuánticos. El sistema de McEliece es un criptosistema de clave pública basado en códigos de corrección de errores y usa matrices módulo 2 para cifrar y descifrar mensajes.

  • ✅ Ventaja: Es resistente a ataques cuánticos, a diferencia de RSA o ECC.
  • ✅ Desventaja: Las claves públicas son muy grandes.

🔹 Paso 1: Generación de Claves

El sistema usa códigos lineales binarios para generar una clave pública y privada.

  1. Elegimos un código de corrección de errores:

Se toma un código Goppa binario con matriz generadora \( G \) de tamaño \( k \times n \) sobre \( \mathbb{F}_2 \).

\( G \) es una matriz binaria aleatoria, pero con ciertas propiedades algebraicas.

  1. Se oculta la estructura de \( G \) con transformaciones:
  • \( S \): Matriz invertible \( k \times k \) (secreta).
  • \( P \): Matriz de permutación \( n \times n \) (secreta).

\( G' = S \cdot G \cdot P \)

🔑 Clave pública: \( G' \)

🔑 Clave privada: \( G, S, P \)

🔹 Paso 2: Cifrado

Para cifrar un mensaje \( m \) (de longitud \( k \)), se hace:

  1. Se multiplica \( m \) por la clave pública \( G' \):

\( c = m \cdot G' \)

  1. Se introduce un ruido aleatorio \( e \) (de peso bajo):

\( c = m \cdot G' + e \)

🔹 Paso 3: Descifrado

Para recuperar \( m \), se usa la clave privada \( (S, P, G) \):

  1. Invertimos la permutación:

\( c' = c \cdot P^{-1} \)

  1. Decodificamos \( c' \) usando \( G \) (decodificador de código de Goppa).

Esto corrige el ruido \( e \) y recupera \( m' \).

  1. Deshacemos la transformación \( S \) para recuperar \( m \):

\( m = m' \cdot S^{-1} \)

🚀 Conclusión

El sistema de McEliece usa matrices módulo 2 para generar claves y cifrar mensajes con códigos de corrección de errores. Su seguridad se basa en la dificultad de decodificar códigos lineales sin información adicional. Es uno de los candidatos para criptografía segura en la era cuántica.

Volvemos a los mosaicos

Después de este paréntesis provocado por las matrices con unos y ceros tan relacionadas con los QR volvemos a los trabajos desarrollados para representar mosaicos

Con Geogebra

Escenas: Triangular. Cuadrangular

En la web de geogebra, Autor: José Antonio Mora

Vídeos; Triangular

Cuadrangular

Con Descartes

Con descartes

Escenas: Con relleno, Sin relleno

  Mosaicos   Autor Ireno Fernández Rubio

Más mosaicos nazaríes por Luis Barrios Calmaestra

  Hoja     Hueso     Pétalo     Avión  

Vídeo Triangular

Más con Desmos

Escenas:

Poligonales, sin arco Triangular

Video Triangular
 

Con GPT

Mosaico de pajarita poligonal

 

BIBLIOGRAFÍA RECOMENDADA

 

 

 

Autores: Luis Barrios Calmaestra , Ireno Fernández Rubio , Consolación Ruiz Gil
Agradecemos su colaboración a todo el equipo del Proyecto Descartes.
Proyecto Descartes . Año 2025