Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Numeri da trasformare in colore

4 views
Skip to first unread message

mkd

unread,
May 25, 2012, 9:15:41 AM5/25/12
to
Salve
Ho un problema che non riesco a risolvere...
Ho una serie di molti numeri decimali, del tipo:

3.232456
3.235963
3.239587
3.192652
3.236264
1.526555
0.558888
[...]

Sono numeri molto simili (tantissimi hanno le prime due cifre decimali
uguali).
Voglio fare in modo che OGNI numero corrisponda ad un colore diverso
(assegnando i numeri R,G,B)

Mi interessava, in particolare, capire in che modo assegnare ad ogni
numero un valore, per esempio, Rosso, DIVERSO anche se tra un numero e
l'altro varia solamente la SECONDA cifra decimale, altrimenti non
vedrei differenze.
Se lo faccio come sono capace io, quasi tutti i numeri che risultano
sono uguali (p.e. R=247...247..247, sempre 247 :)) )
E questo è il mio grosso problema, non riesco a trattare le variazioni
decimali!
Ho provato a normalizzare rispetto al valore max, min, a scalare i
numeri... ma non capisco come fare

Vi ricordo che i colori in RGB vanno da 0 a 255.
Spero di essermi fatto capire.
Grazie!

martello

unread,
May 25, 2012, 10:03:00 AM5/25/12
to
Il 25/05/2012 15.15, mkd ha scritto:
> Salve
> Ho un problema che non riesco a risolvere...
> Ho una serie di molti numeri decimali, del tipo:
>
> 3.232456
> 3.235963
> 3.239587
> 3.192652
> 3.236264
> 1.526555
> 0.558888
> [...]
>
> Sono numeri molto simili (tantissimi hanno le prime due cifre decimali
> uguali).
> Voglio fare in modo che OGNI numero corrisponda ad un colore diverso
> (assegnando i numeri R,G,B)
>
> Mi interessava, in particolare, capire in che modo assegnare ad ogni
> numero un valore, per esempio, Rosso, DIVERSO anche se tra un numero e
> l'altro varia solamente la SECONDA cifra decimale, altrimenti non
> vedrei differenze.
> Se lo faccio come sono capace io, quasi tutti i numeri che risultano
> sono uguali (p.e. R=247...247..247, sempre 247 :)) )
> E questo č il mio grosso problema, non riesco a trattare le variazioni
> decimali!
> Ho provato a normalizzare rispetto al valore max, min, a scalare i
> numeri... ma non capisco come fare
>
> Vi ricordo che i colori in RGB vanno da 0 a 255.
> Spero di essermi fatto capire.
> Grazie!


Veramente se ci dicessi cosi ti interessa fare, e che origina hanno
questi numeri, sarebbe piů facile risponderti.

In ogni caso ti conviene per iniziare 'normalizzare' i numeri in modo
che siano interi e il valore massimo sia 2^24=16.777.216 e il minimo
ovviamente sia zero.

A questo punto puoi trattarli come una codifica RGB ad 8 bit per ogni
colore.

Elio Fabri

unread,
May 29, 2012, 3:32:20 PM5/29/12
to
mkd ha scritto:
> Ho un problema che non riesco a risolvere...
> Ho una serie di molti numeri decimali, del tipo:
>
> 3.232456
> 3.235963
> 3.239587
> 3.192652
> 3.236264
> 1.526555
> 0.558888
> [...]
>
> Sono numeri molto simili (tantissimi hanno le prime due cifre decimali
> uguali).
> Voglio fare in modo che OGNI numero corrisponda ad un colore diverso
> (assegnando i numeri R,G,B)
>
> Vi ricordo che i colori in RGB vanno da 0 a 255.
La terna RGB può assumere solo 2^24 valori distinti, e cioè più di 16
milioni.
Dato che scrivi 6 cifre decimali, se la parte intera non supera 9
avrai 10 milioni di casi possibili, e quindi la soluzione esiste
sempre.
Puoi trovarla così:
1) scrivi il tuo numero come intero, es. 3232456.
2) Calcola la sua rappresentazione in base 256: sai come si fa?
Nell'esempio che ho scritto: 49 82 200.
E' tutto.


--
Elio Fabri

0 new messages