Quando si costruisce un
oggetto mediante gli usuali strumenti di GeoGebra a questo viene
assegnato un colore preimpostato che viene visto come proprietà
dell'oggetto stesso. L'utente poi può cambiare il colore
predefinito accedendo al menu delle proprietà dell'oggetto o
mediante un comando GeoGebraScript.
Per facilitare la
scelta dei colori degli oggetti geometrici rappresentati, nella
finestra Preferenze/Colore viene presentata una tavolozza di
colori che possono essere selezionati in modo visuale.
Nella colonna a
sinistra ci sono alcune tonalità di grigio, ed i colori primari, a
destra c'è una matrice di colori per una scelta rapida di colori di
uso più frequente. Per ognuno di questi colori viene mostrato un
anteprima ed indicate le coordinate colore nel sistema RGB.
Per la scelta di colori
che non fanno parte di questa tavolozza occorre indicarne le
coordinate colore. Teniamo presente che tra i colori che si possono
generare assegnando direttamente le coordinate non tutti sono
gradevoli quindi, se non si ha una conoscenza specifica, è
consigliabile usare i colori della tavolozza.
Alcuni colori possono
essere immessi, sotto forma di stringhe di testo, nei comandi
digitati nella linea di inserimento, si tratta di una comoda
funzionalità usata per esempio nell'inserimento di testi.
Per un elenco di questi
colori, espressi con nomi in italiano, vedere all'indirizzo:
Un elenco molto più
completo per i nomi in inglese all'indirizzo:
Scelta dei colori
attraverso le coordinate dinamiche
In
questo caso le coordinate di un colore sono espresse da numeri
compresi tra 0 ed 1 e possono essere assegnati anche mediante l'uso
di variabili. Per questo possono essere impostati colori che
variabili controllati da slider; molto comodo nelle animazioni.
Si
usano numeri decimali proporzionali proporzionali alle coordinate
colore.
Le corrispondenze tra
i numeri indicati nella tavolozza e numeri da indicare nei colori
dinamici sono indicate a lato
|
0
|
51
|
102
|
153
|
204
|
255
|
0
|
0.2
|
0.4
|
0.6
|
0.8
|
1
|
Quindi
il colore (204, 51, 255) della tavolozza corrisponde al colore (0.8,
0.2, 1) dei parametri indicati come colori dinamici. Vedere il foglio GeoGebra scaricabile all'indirizzo:
Per assegnare le
coordinate dinamiche del colore di un oggetto si interviene nella
finestra a comparsa per la definizione delle proprietà del''oggetto
stesso alla voce: Preferenze/Avanzate
Nelle linee di editor
relative ai vari colori possono essere inseriti nomi di variabili
numeriche e logiche quindi il colore può essere modificato a
determinate condizioni.
Nel caso di superfici da
colorare è prevista anche un valore per impostare il valore
dell'opacità
Mostriamo a titolo di
esempio come può essere impostato il controllo del colore di un
oggetto geometrico usando delle variabili controllate da slider.
Si definisce un oggetto
geometrico, nel nostro caso un quadrato.
Si definiscono tre slider
nelle variabili r, g, b. Tali slider devono variare tra 0 ed 1 con
un incremento di 0.01
Si clicca con il tasto
destro ul quadrato e alla voce Avanzate/Colori dinamici si
inseriscono i nomi delle variabili, come mostrato nell'immagine
sottostante.
I colori del quadrato sono
controllabili direttamente dagli slider.
Contrasti
tra colori complementari
Il
contrasto creato dall'accostamento di due complementari esalta la
luminosità, questo perchè ogni colore della coppia non ha nessun
componente in comune.
Nel rettangolo a sinistra
i colori dinamici sono impostati come nel caso precedente mentre per
ottenere il colore complementare del rettangolo a destra si usano le
stesse variabili (r, g, b) inserendo nelle linee di edit dei colori
dinamici i valori (1 - r). (1, - g), (1 – b)
Colori intermedi
La gestione del colore si
riconduce ad un calcolo matematico, il colore ha delle coordinate
numeriche e la sua variazione deriva da operazioni matematiche fatte
su tali coordinate.
Per realizzare l'applet
della immagine sottostante che può essere scaricata all'indirizzo:
http://www.geogebratube.org/material/show/id/64176
si dichiarano tre slider
nelle variabili a, b, c che variano nell'intervallo [0.1]
Analizziamo la prima barra
il cui colore varia tra il Rosso (1, 0, 0) e Verde (0,
1, 0)
La componente del Blu è
sempre 0 mentre le componenti del rosso e del verde devono avere
valori compresi tra 0 ed 1 dipendenti dal parametro c.
Per c = 0 si ottengono le
coordinate del Rosso puro, per c = 1 le coordinate del Verde passando
da un colore all'altro gradatamente al variare di tale parametro,
infatti all'aumentare del valore di c diminuisce la componente del
rosso ed aumenta quella del Verde.
L'effetto che si ottiene
viene evidenziato facendo variare il valore dello slider.
La stessa logica è
applicata nella seconda barra il cui colore varia tra il Rosso ed il
Blu, si fa variare lo slider nella variabile b che interviene sulle
componenti di Rosso e Blu nel seguente modo:
Rosso: 1 – b Verde:
0 Blu: b
Nella terza barra il
colore varia tra Verde e Blu, si fa variare lo slider nella variabile
a nel seguente modo:
Rosso: 0 Verde: 1 –
a Blu: a
L'opacità e sempre uguale
ad 1 per rendere i colori più vivaci.
Saturazione dei colori
Abbiamo visto che la
massima saturazione dei un colore è sinonimo di purezza quindi nel
caso di un colori primario si ottiene quando non c'è traccia degli
altri.
Pertanto le coordinate
sono:
Massima saturazione per il
Rosso: coordinate colore (255, 0, 0)
quindi coordinate
dinamiche: (1, 0, 0)
Allo stesso modo
Massima saturazione per il
Verde: (0, 255, 0) oppure (0, 1, 0)
Massima saturazione per il
blu: (0, 0, 255) oppure (0, 0, 1)
Il colore a saturazione
nulla è il Grigio in cui le tre coordinate colore sono uguali.
Particolari tipi di grigio
sono il Nero: (0, 0, 0) ed il Bianco (255, 255, 255) oppure (1, 1,
1) in coordinate dinamiche.
Per costruire una applet
che metta in evidenza la variazione di saturazione di colore quindi
bisogna fare delle scelte e stabilire che tonalità di grigio si
vuole raggiungere.
Nel file scaricabile
all'indirizzo: http://www.geogebratube.org/material/show/id/64443
Sono stati dichiarati tre
slider nelle variabili a, b, c una per ogni colore e sono costruiti
in modo da ottenere la massima saturazione per la variabile nulla e
minima per la variabile è 0.8.
Analizziamo il caso del
rosso, controllato dalla variabile c, gli altri sono uguali, cambia
solo la variabile di controllo. Come si è detto tali valori sono il
risultato di una scelta che ora motiviamo.
Nel caso c = 0 le
coordinate colore sono: (1, 0, 0) se si aumenta c, per esempio c =
0.2 le coordinate colore diventano: (0.98, 0.2, 0.2) quindi aumentano
leggermente le componenti di Verde e Blu ma rimane una prevalenza di
Rosso fino ad arrivare a c = 0.8 in cui le coordinate diventano:
(0.92, 0.8, 0.8) in cui rimane una leggera prevalenza di rosso.
Se si fa in modo che
diventino uguali si ottiene un grigio chiarissimo che in alcuni
schermi si confonde con il bianco e così pure se si diminuisce la
componente del rosso troppo rapidamente il colore si sbiadisce in
fretta.
Abbiamo fatto queste
scelte per fare in modo che la barra rossa restasse rossa, e così
pure le altre, insomma nel caso del colore si devono fare anche delle
scelte di buon gusto, non basta la matematica e soprattutto l'effetto
visivo che è soggettivo, non ha un andamento lineare con i
parametri.
Triangolo dei colori
Un colore è determinato
da una terna di numeri quindi sembrerebbe logico fare una
rappresentazio-ne nello spazio. Tale rappresentazione però,
disponendo di una superficie piana come il monitor del computer
finirebbe per creare grossi inconvenienti.
Vogliamo quindi tentare di
rappresentare il maggior numero di colori combinando i tre colori
primari, per questo costruiamo un triangolo che in qualche modo
richiama il diagramma di cromaticità per il modello di colore RGB.
Le coordinate dei colori
sono determinate dalla posizione del punto stesso all'interno del
triangolo.
L'applet descritta di
seguito è scaricabile all'indirizzo:
Per comodità impostiamo
la rappresentazione su un piano cartesiano disponendo i colori nel
modo indicato nella figura sottostante.
Coordinate di R = (0, 1) e
coordinate di B = (1, 0) il punto P viene mantenuto interno al
triangolo dichiarandolo come P = PuntoIn[Tria] dove Tria è il
triangolo RGB
Quando P si trova sul
punto R ha ordinata 1 e quando si trova su G ha ordinata 0 quindi
assumiamo l'ordinata di P come coordinata dinamica del colore Rosso,
per lo stesso ragionamento l'ascissa di P determina la coordinata
dinamica del Blu nella rappresentazione RGB. Sono determinate in
questo modo le coordinate r = y(P) e b = x(P) della terna (r, g, b)
che determina il colore, manca la coordinata g.
Quando P si muove sul
segmento RG la sua ascissa è nulla quindi la componente Blu è
assente, allo stesso modo succede che quando si muove sul segmento GB
è nulla la sua ordinata che determina la componente Rossa, in questo
modo si ottengono tutti i colori intermedi come sono stati descritti
nell'esempio visto.
Per fare in modo che
quando P si trova sul segmento RB la componente Verde sia nulla basta
prendere g = 1 – r – b, in tal modo quando P si muove sul
segmento RB vengono generati tutti i colori intermedi tra i due.
Questa proprietà si basa sul fatto che, essendo RGB rettangolo
isoscele con cateti 1 la somma delle distanze di P dai cateti è
sempre uguale all'unità e quindi anche la somma delle sua coordinate
è 1.
Quando il punto si trova
all'interno del triangolo vengono generate le combinazioni del tre
colori primari.
I colori del quadrato a
sinistra quindi sono così determinati:
I colori complementari
sono ottenuti sottraendo al valore 1 le relative coordinate
Le convenzioni che abbiamo
preso ci hanno permesso di risolvere in modo brillante il calcolo dei
colori ed anche dei relativi complementari ma purtroppo la
semplificazione è un po' ardita, la realtà è più complicata:
risultato ci sono dei colori mal rappresentati.
Facendo delle semplici
prove si vede per esempio che il giallo non viene mai rappresentato.
Se portiamo P nelle
vicinanze del punto medio del segmento RG viene rappresentato il
Marrone che è un giallo molto scuro, in compenso il Giallo viene
rappresentato come colore complementare se portiamo P nelle vicinanze
del punto B. Questo significa che per rappresentare il Giallo
occorre dare al Verde e al Rosso coordinate prossime ad 1 ed al Blu
coordinata prossima allo zero, ma questo vuol dire che la somma delle
coordinate del colore deve essere maggiore di uno mentre noi nel
nostro modello abbiamo che la somma delle tre coordinate è 1.
L'eccessiva
semplificazione del modello ci ha portato a delle limitazioni, si
tratta di limitazioni non facili da superare che mostrano come il
trattamento del colore non è cosa semplice.
Nessun commento:
Posta un commento