Generate matrix unique configurations!
Find a file
2026-01-17 14:28:56 +01:00
.gitignore Added Readme 2026-01-17 14:28:56 +01:00
matrixWebMachine.html toggle overlay, matrix re-initialization 2025-11-24 15:44:46 +01:00
README.md Added Readme 2026-01-17 14:28:56 +01:00

Matrix Web Machine

Scopo del progetto

Matrix Web Machine è un progetto didattico e sperimentale pensato come esercizio per visualizzare concetti matematici astratti, in particolare le matrici 2D, attraverso elementi grafici semplici e immediati.

Lobiettivo è trasformare una matrice numerica composta da valori binari (0 e 1) in una rappresentazione visiva interattiva, rendendo più intuitiva la comprensione della sua struttura e del suo contenuto.


Descrizione

Il progetto è basato esclusivamente su un singolo file HTML, che contiene:

  • JavaScript per la logica applicativa
  • CSS per lo stile
  • Canvas 2D per il rendering grafico

La matrice 2D viene rappresentata come una griglia di celle:

  • celle nere → valore 1
  • celle bianche → valore 0

Funzionalità principali

  • Generazione di matrici 2D di dimensioni arbitrarie (width × height) tramite interfaccia utente
  • Creazione di matrici casuali
  • Inversione dei valori della matrice (0 ↔ 1)
  • Modifica interattiva delle celle tramite doppio click su una casella
  • Rendering della matrice tramite Canvas 2D
  • Possibilità di salvare la configurazione della matrice in: (evolutiva)
    • formato JSON
    • formato SVG (rappresentazione vettoriale)

Interazione utente

  • Lutente controlla dimensioni e contenuto della matrice tramite linterfaccia
  • Ogni cella è interattiva e può essere commutata individualmente
  • Le modifiche sono riflesse immediatamente nella visualizzazione grafica

Motivazione

Il progetto nasce come esercizio pratico per:

  • progettazione di matrici semplici
  • sviluppare intuizione su strutture spesso percepite come astratte (matrici)
  • sperimentare con Canvas 2D e interazione diretta dellutente

Tecnologie utilizzate

  • HTML5
  • CSS
  • JavaScript
  • Canvas 2D API

License

Apache 2.0