Foto del docente

Emanuele Mingione

Professore associato

Dipartimento di Matematica

Settore scientifico disciplinare: MATH-04/A Fisica matematica

Contenuti utili

PLS 2026, Generatore patterns

import numpy as np
import matplotlib.pyplot as plt


# -----------------------------
# Dimensione immagine
# -----------------------------
L = 28


# ===================================
# Pattern 0
# ===================================
pattern0 = -np.ones((L, L))

pattern0[5, 11:16] = 1
pattern0[6, 11:16] = 1
pattern0[7:19, 8] = 1
pattern0[6:20, 9] = 1
pattern0[7:19, 19] = 1
pattern0[6:20, 18] = 1

for k in range(4):
pattern0[5+k, 16+k:17+k] = 1
pattern0[6+k, 16+k:17+k] = 1
pattern0[5+k, 11-k:12-k] = 1
pattern0[6+k, 11-k:12-k] = 1

pattern0[22, 11:16] = 1
pattern0[23, 10:16] = 1

for k in range(4):
pattern0[22-k, 16+k:17+k] = 1
pattern0[23-k, 16+k:17+k] = 1
pattern0[22-k, 11-k:12-k] = 1
pattern0[23-k, 11-k:12-k] = 1


plt.figure(figsize=(4, 4))
plt.imshow(pattern0, cmap="gray", vmin=-1, vmax=1)
plt.axis("off")
plt.title("Pattern 0")
plt.show()

pattern0 = pattern0.flatten()


# ===================================
# Pattern 1
# ===================================
pattern1 = -np.ones((L, L))

pattern1[4:24, 13] = 1
pattern1[4:24, 14] = 1

plt.figure(figsize=(4, 4))
plt.imshow(pattern1, cmap="gray", vmin=-1, vmax=1)
plt.axis("off")
plt.title("Pattern 1")
plt.show()

pattern1 = pattern1.flatten()


# ===================================
# Pattern 7
# ===================================
pattern7 = -np.ones((L, L))

pattern7[4, 10:19] = 1
pattern7[5, 10:19] = 1

for k in range(6):
pattern7[4+4*k:5+4*k, 20-k] = 1
pattern7[4+4*k:5+4*k, 19-k] = 1
pattern7[5+4*k:6+4*k, 20-k] = 1
pattern7[5+4*k:6+4*k, 19-k] = 1


plt.figure(figsize=(4, 4))
plt.imshow(pattern7, cmap="gray", vmin=-1, vmax=1)
plt.axis("off")
plt.title("Pattern 7")
plt.show()

pattern7 = pattern7.flatten()


# ===================================
# Pattern 3
# ===================================
pattern3 = -np.ones((L, L))

pattern3[4, 8:15] = 1
pattern3[5, 8:15] = 1

for k in range(4):
pattern3[4+k, 15+k:16+k] = 1
pattern3[5+k, 15+k:16+k] = 1

for k in range(4):
pattern3[14-k, 15+k:16+k] = 1
pattern3[15-k, 15+k:16+k] = 1

pattern3[14, 8:15] = 1
pattern3[15, 8:15] = 1

for k in range(4):
pattern3[14+k, 15+k:16+k] = 1
pattern3[15+k, 15+k:16+k] = 1

for k in range(4):
pattern3[24-k, 15+k:16+k] = 1
pattern3[23-k, 15+k:16+k] = 1

pattern3[23, 8:15] = 1
pattern3[24, 8:15] = 1

pattern3[7:12, 18] = 1
pattern3[17:22, 18] = 1
pattern3[7:12, 17] = 1
pattern3[17:22, 17] = 1


plt.figure(figsize=(4, 4))
plt.imshow(pattern3, cmap="gray", vmin=-1, vmax=1)
plt.axis("off")
plt.title("Pattern 3")
plt.show()

pattern3 = pattern3.flatten()