Biblos: come usare i tipi di dati numerici per creare grafica tattile responsive
Giuseppe Di Grande Aggiornato il 03/04/2024 08:00Biblos è un Software che permette di creare Grafica Tattile per persone con disabilità visiva. Offre un Linguaggio di Programmazione semplice e potente, che consente di disegnare forme geometriche, testi, immagini e simboli in modo intuitivo e personalizzabile. Una delle caratteristiche più interessanti di Biblos è la possibilità di creare Grafica Tattile responsive, cioè adattabili a diverse dimensioni e risoluzioni. In questo articolo vi spiegherò come usare i tipi di dati numerici che Biblos mette a disposizione per creare Grafica responsive. Vedremo come usare i numeri interi, i decimali, gli esadecimali e i frazionari per rappresentare valori assoluti o relativi alla Dimensione del grafico. Farò alcuni esempi pratici di come usare questi tipi di dati nelle istruzioni di Disegno per creare forme proporzionate al grafico.
Se si vuole creare Grafica Tattile con Biblos, è importante conoscere i diversi tipi di dati numerici che il suo Linguaggio offre. Tra questi, ci sono i numeri interi, i decimali e i frazionari. Questi tipi di dati possono essere usati per assegnare un valore a una variabile o per passare un parametro a una funzione che lo richieda. Vediamo alcuni esempi:
• x = 50
• Dot(50,75)
I numeri decimali sono utili per rappresentare valori che non sono interi. Per Scrivere un numero decimale in Biblos si usa il simbolo "." per separare la parte intera dalla parte frazionaria. Ad esempio:
• x = 50.4
Biblos non richiede di specificare il tipo di dato numerico quando si assegna un valore a una variabile o si passa un parametro a una funzione. L'interprete sceglie automaticamente il tipo più adatto tra intero e decimale. Tuttavia, se si vuole estrarre la parte intera o la parte frazionaria di un numero decimale, si possono usare le funzioni "Int" e "Frac". Queste funzioni restituiscono rispettivamente la parte intera e la parte frazionaria di un numero decimale. Vediamo alcuni esempi:
• x = Int(50.4)
• y = Frac(50.4)
La variabile x conterrà il valore 50, mentre la variabile y il valore 0.4.
Un altro tipo di dato numerico che Biblos supporta è il numero esadecimale. Questo tipo di dato è utile per rappresentare valori che usano 16 cifre invece di 10, come i codici dei colori o le istruzioni di basso livello. Per Scrivere un numero esadecimale in Biblos, si usa il simbolo "#" davanti al numero. Ad esempio:
• x = #2A
Questa espressione assegna alla variabile x il valore esadecimale 2a, che corrisponde al valore decimale 42. In altre parole, x vale 2 volte 16 più A volte 1, dove A è la cifra esadecimale che vale 10.
Un tipo di dato numerico molto utile per creare Grafica Tattile con Biblos è il numero frazionario. Questo tipo di dato permette di esprimere un valore percentuale, indipendente dalla Dimensione del grafico, in modo da adattarlo a diverse risoluzioni. I numeri frazionari sono composti da un numero seguito da una lettera o da una parola che indica la misura di riferimento. I tipi numerici frazionari sono i seguenti:
• 0x: il numero indica una percentuale della larghezza del grafico. Per esempio, 50x significa il 50% della larghezza del grafico.
• 0y: il numero indica una percentuale dell'altezza del grafico. Per esempio, 25y significa il 25% dell'altezza del grafico.
• 0min: il numero indica una percentuale del valore minore tra la larghezza e l'altezza del grafico. Per esempio, 10min significa il 10% del lato più corto del grafico.
• 0mid: il numero indica una percentuale del valore medio tra la larghezza e l'altezza del grafico. Per esempio, 20mid significa il 20% della media tra la larghezza e l'altezza del grafico.
• 0max: il numero indica una percentuale del valore maggiore tra la larghezza e l'altezza del grafico. Per esempio, 30max significa il 30% del lato più lungo del grafico.
Vediamo ora come Biblos calcola i valori effettivi dei numeri frazionari in base alla Dimensione del grafico. Supponiamo di avere un grafico che misura 120 punti di larghezza e 180 punti di altezza. In questo caso, possiamo assegnare dei valori a delle variabili o utilizzarli come parametri di un'Istruzione usando i numeri frazionari in questo modo:
• x = 60x - questa Istruzione assegna alla variabile x il valore 72, che corrisponde al 60% di 120, la larghezza del grafico.
• y = 60y - questa Istruzione assegna alla variabile y il valore 108, che corrisponde al 60% di 180, l'altezza del grafico.
• v = 60min - questa Istruzione assegna alla variabile v il valore 72, che corrisponde al 60% del valore minore tra la larghezza e l'altezza del grafico, cioè 120.
• v = 60max - questa Istruzione assegna alla variabile v il valore 108, che corrisponde al 60% del valore maggiore tra la larghezza e l'altezza del grafico, cioè 180.
• v = 60mid - questa Istruzione assegna alla variabile v il valore 90, che corrisponde al 60% del valore medio tra la larghezza e l'altezza del grafico, cioè (120+180)/2.
Un aspetto da tenere in considerazione quando si usano i numeri frazionari è che essi non possono essere usati per fare operazioni aritmetiche e conservare il loro tipo. Infatti, se si sommano o si sottraggono due numeri frazionari, il risultato sarà un numero decimale che rappresenta la somma o la differenza dei valori effettivi. Per esempio:
• v = 50x+50y
Questa Istruzione assegna alla variabile v il valore 150, che è la somma di 60 e 90, i valori effettivi del 50% della larghezza e dell'altezza del grafico. Quindi v non sarà un numero frazionario che indica il 100% della Dimensione del grafico, ma un numero decimale che indica un valore assoluto.
Se si vuole ottenere i valori frazionari dell'area Grafica in modo più flessibile o dinamico, si possono usare le funzioni FrX, FrY, Min, Mid e Max. Queste funzioni prendono in input un numero e restituiscono il valore effettivo del numero frazionario corrispondente. Per esempio:
• FrX(50) restituisce il 50% della larghezza del grafico.
• Min(40) restituisce il 40% del valore minore tra la larghezza e l'altezza del grafico.
I numeri frazionari sono molto pratici per creare grafici che si adattano a diverse risoluzioni, in quanto permettono di usare valori percentuali nelle istruzioni di Disegno. Per esempio:
• Circle(50,50,40)
• Circle(50x,50y,40min)
La prima Istruzione disegna un cerchio con centro in (50,50) e raggio 40. Questo cerchio avrà sempre la stessa Dimensione e posizione, indipendentemente dalla Dimensione del grafico. La seconda Istruzione disegna un cerchio con centro in (50x,50y) e raggio 40min. Questo cerchio avrà il centro al centro del grafico e il raggio pari al 40% del lato più corto del grafico. Questo cerchio si adatterà alla Dimensione del grafico e non lo supererà mai.
In questo articolo abbiamo visto i diversi tipi di dati numerici che Biblos offre per creare Grafica Tattile. Abbiamo imparato a usare i numeri interi, i decimali e gli esadecimali per rappresentare valori assoluti. Abbiamo scoperto i numeri frazionari, che permettono di esprimere valori in base alla Dimensione del grafico, in modo da renderlo adattabile a diverse risoluzioni. Abbiamo visto come usare i numeri frazionari direttamente o tramite le funzioni FrX, FrY, Min, Mid e Max. Abbiamo fatto alcuni esempi di come usare i numeri frazionari nelle istruzioni di Disegno, come Circle, per creare forme geometriche proporzionate al grafico. Spero che questo articolo vi sia stato utile e vi invito a provare Biblos per creare i vostri grafici tattili.
Per ulteriore supporto ci si può iscrivere nel Gruppo di Biblos su Facebook o nel Canale di Biblos su Telegram.