Sto prendendo una classe che utilizza Processing.Come funziona la funzione map() in Processing?
Ho riscontrato un problema nella comprensione della funzione map().
In base ad esso è la documentazione (http://www.processing.org/reference/map_.html):
Re-maps un numero da un intervallo all'altro.
Nel primo esempio precedente, il numero 25 viene convertito da un valore compreso tra 0 e 100 in un valore compreso tra il bordo sinistro della finestra (0) e il bordo destro (larghezza).
Come mostrato nel secondo esempio, i numeri al di fuori dell'intervallo non sono bloccati sui valori dei parametri minimi e massimi, poiché i valori fuori intervallo sono spesso intenzionali e utili.
È simile a una funzione casuale ma l'intervallo è impostato dall'utente? Inoltre, non riesco a capire la spiegazione del primo esempio: dice che il numero viene convertito in un valore da 0 a 100 in un valore che va da un bordo all'altro dello schermo. Sto pensando perché non solo convertire direttamente, il numero 25 per l'intervallo di valore relativo allo schermo?
Immaginate un potenziale caso d'uso del vostro programma che riceve valori normalizzati (cioè 0.0 - 1.0) da qualcosa, e poi volete usarlo per cambiare il colore dello sfondo in Processing. Si può andare in background (map (receiveValue, 0.0, 1.0, 0.0, 255.0)); –
@ jesses.co.tt: So che questo non è il punto del tuo commento, ma in questo caso non sarebbe molto più semplice fare 'background (receivedValue * 255.0)'? – flarn2006
@flarn2006 sì, map() è solo una funzione di convenienza, ea volte è molto più semplice da fare come hai detto ... ma suppongo che map() sia utile in caso di casi più complicati ... –