LA COMPUTER GRAPHIC
L'utilizzo del computer
per produrre diagrammi di vario tipo, figure stilizzate e non, viene chiamato
computer graphic.
Per occuparsi ad
alto livello di computer graphic occorrono hardware e software specializzati.
Anche i linguaggi di programmazione però offrono ormai un ampio set
di istruzioni per la gestione della grafica.
IL MODO TESTO E IL MODO GRAFICO
Lo schermo del computer può venire
utilizzato in due modi fondamentali: in modo testo e in modo grafico.
In
modo testo lo schermo è suddiviso in righe e colonne; l'incrocio di ogni
riga e colonna individua una posizione in cui si può trovare un
carattere.
Si possono usare anche molti caratteri grafici, che
rappresententano una estensione del codice ASCII, con cui è possibile
ottenere linee, curve e disegni vari, in modalità testo.
In modo
grafico lo schermo viene suddiviso in pixel, cioè in punti elementari o
posizioni dello schermo; il numero di punti dipende dal tipo di risoluzione
possibile; in realtà non si tratta di punti ma di piccolissimi
rettangoli, ognuno dei quali può essere riempito di nero o di bianco (o
di un qualsiasi colore se lo schermo è a colori) per formare un disegno
qualsiasi.
Normalmente lo schermo viene adoperato in modo testo.
Le
operazioni principali possibili in modo testo sono la scrittura di caratteri
alfanumerici e il posizionamento in una posizione desiderata dello schermo,
individuata da riga e colonna.
In modo grafico si hanno in genere molte
operazioni possibili, rese disponibili da primitive grafiche, cioè da
comandi per tracciare linee, archi, cerchi ecc.
Alcune di queste sono: la
scrittura di un punto, cioè l'accensione di un pixel, nella posizione
individuata da due numeri che rappresentano le coordinate del punto e il
tracciamento di linee o di figure geometriche come rettangoli, cerchi, ellissi
alla posizione specificata (per esempio indicando la posizione degli spigoli per
un rettangolo, o del centro per un cerchio).
I TERMINI VETTORIALI
Poiché il numero di punti non è
infinito, e le dimensioni dei punti non sono infinitesimali (come vorrebbe la
geometria), per tracciare sullo schermo linee rette e curve bisogna decidere
quali pixel annerire. L'effetto che si ottiene non è regolare: l'aspetto
è a scalino; inoltre, poiché i pixel non hanno la stessa
dimensione orizzontalmente e verticalmente i cerchi diventano ellissi e i
quadrati rettangoli.
I terminali vettoriali (line-drawing display)
funzionano tracciando linee e curve continue, invece che punti separati,
realizzando quindi linee che appaiono perfettamente regolari.
IL COLORE
Lo schermo può essere monocromatico o a
colori; lo schermo è gestito da un adattatore grafico che definisce il
tipo di risoluzione utilizzabile (cioè il numero di pixel per riga e
colonna).
Se lo schermo è monocromatico si possono utilizzare
soltanto i colori bianco e nero, ma con tutte le sfumature intermedie (si parla
di livelli di grigio).
Il colore si può usare sia in modo testo che
in modo grafico.
In modo testo il colore si può applicare ad un
carattere; in genere è definibile un colore per il testo e un colore per
lo sfondo; in modo grafico si può gestire il colore a livello di
pixel.
LA GRAFICA BIDIMENSIONALE
Le figure possono essere disegnate utilizzando le
primitive grafiche a disposizione; possono poi venire modificate (per esempio
ingrandite, rimpicciolite, spostate, ruotate) utilizzando trasformazioni
geometriche come traslazioni, cambiamenti di scala e rotazioni, che possono
anche essere combinate tra loro.
Una trasformazione è in pratica un
cambiamento di coordinate di ciascun punto del disegno.
Un punto del
disegno è individuato nella figura originale da una coppia di coordinate
(x,y); una trasformazione, partendo da queste coordinate, genera un nuovo punto
con nuovi valori di coordinate (X,Y).
Partendo dalla trasformazione di un
punto si può trasformare qualsiasi figura; per esempio per trasformare un
segmento basta trasformare le coordinate dei vertici e tracciare una linea che
colleghi i nuovi vertici.
LE TRASFORMAZIONI GEOMETRICHE
LA TRASLAZIONE
Una traslazione
è una trasformazione delle coordinate in base alla legge:
X =
x + Tx
Y = y + Ty
dove Tx e Ty sono parametri che indicano
l'entità dello spostamento lungo l'asse x e lungo l'asse
y.
LA ROTAZIONE
Per ruotare un punto di coordinate (x,y) di un
angolo q attorno all'origine del sistema di coordinate bisogna applicare la
trasformazione:
X = xcosq + ysinq
Y = -xsinq +
ycosq
La rotazione attorno a un punto qualunque si può
ottenere con una traslazione, una rotazione attorno all'origine e un'altra
traslazione.
IL CAMBIAMENTO DI SCALA
Il cambiamento di scala per un punto di
coordinate (x,y) si può ottenere applicando la
trasformazione:
X = xSx
Y = ySy
dove Sx e Sy sono
dei parametri che indicano l'entità del cambiamento di scala lungo l'asse
x e lungo l'asse y.
Per esempio per ingrandire una figura due volte
rispetto alle dimensioni originali si deve porre Sx = Sy = 2
Dando a Sx e
Sy valori negativi si può ottenere l'immagine speculare.
Se Sx e Sy
non sono uguali danno un effetto di distorsione (allungamento o contrazione
lungo direzioni parallele agli assi).
Esempi
Cambiamento delle
coordinate dei vertici di un triangolo applicando le trasformazioni geometriche
di traslazione, rotazione e cambiamento di scala.
Sia dato un triangolo i
cui vertici hanno coordinate (20,0) (60,0) (40,100).
Triangolo di riferimentoUna traslazione di 100 a destra e di 10 in
alto si ottiene ponendo Tx = 100 e Ty = 10, cioè applicando la
trasformazione:
X = x + 100
Y = y + 10
Applicando la
trasformazione si ottiene che i nuovi vertici del triangolo hanno coordinate
(120,10) (160,10) (140,10).
Esempio di traslazioneUna rotazione di 45 gradi in senso orario attorno
all'origine si ottiene applicando la trasformazione:
X = xcos45 +
ysin45
Y = -xsin45 + ycos45
Poiché sen45 = cos45 = 0.71
si ottiene che i nuovi vertici del triangolo hanno coordinate (14.14,-14.14)
(42.43,-42.43) (98.99,42.43).
Esempio di rotazioneUn cambiamento di scala che raddoppi le dimensioni della
figura si ottiene ponendo Sx = Sy = 2 cioè applicando le
trasformazioni:
X = 2x
Y = 2y
I nuovi vertici del triangolo
hanno coordinate (40,0) (120,0) (80,200).
Esempio di cambiamento di scala
WINDOWING E CLIPPING
Sulle figure si possono definire delle regioni
rettangolari da visualizzare, chiamate finestre (o window).
La finestra
può essere visualizzata in una porzione rettangolare del monitor che
prende il nome di viewport attraverso opportune operazioni di cambiamento di
scala e traslazione.
Per definire il contenuto della finestra è
necessario eliminare tutte le parti della figura che sono esterne alla regione
limitata dalla finestra; l'operazione compiuta per scartare i dati esterni viene
chiamata clipping.
LA GRAFICA TRIDIMENSIONALE
La creazione di immagini tridimensionali è
molto più complessa, infatti la terza dimensione deve essere simulata con
una rappresentazione bidimensionale dell'oggetto in tre dimensioni; bisogna
quindi rappresentare l'oggetto attraverso un opportuno metodo di
proiezione.
Per rendere più realistica l'immagine bisogna poi
eliminare le linee e superfici nascoste (cioè quelle non visibili
all'osservatore o nascoste da altre) e creare degli effetti di ombreggiatura con
ombre sia proprie che indotte.
LE PROIEZIONI
Una proiezione è una rappresentazione di
un oggetto ottenuta da un fascio di linee che partono da un punto di vista (un
punto in cui si immagina che sia l'osservatore) e arrivano su un piano di
proiezione posto dietro alla figura.
Le proiezioni si dividono in parallele
e centrali.
Le proiezioni parallele sono quelle in cui le linee utilizzate
per ottenere la rappresentazione sono tutte parallele, cioè il punto di
vista è all'infinito (punto improprio).
Le proiezioni centrali
invece utilizzano linee che partono da un punto di vista proprio, formando un
cono.
La rappresentazione bidimensionale di una figura, ottenuta
dall'incontro delle linee del cono che partono dal punto di vista con il piano
di proiezione, dà un'immagine che assomiglia abbastanza a quella
percepita dall'occhio umano se il cono è retto (cioè se il suo
asse è perpendicolare al piano di proiezione) e se l'ampiezza del cono
visivo è compresa tra 45 e 60 gradi.
L'ANIMAZIONE
Effetti di animazione
si ottengono visualizzando in successione immagini in cui le figure vengono
spostate ogni volta in posizioni diverse.
Il tempo di preparazione
dell'immagine e di visualizzazione non deve essere superiore a 1/20 di secondo
se si vuole che l'occhio umano percepisca la successione delle immagini come un
movimento continuo e non come un movimento a scatti.
Poiché le
immagini grafiche richiedono spesso tempi di elaborazione piuttosto lunghi
l'alternativa è quella di preparare un montaggio delle immagini
già elaborate su un supporto di tipo televisivo o
cinematografico.
L'ELABORAZIONE DI IMMAGINI
Attraverso l'elaborazione di immagini è
possibile perfino creare delle immagini talmente "naturali" da essere belle come
quelle della natura e anche di più (come le meravigliose scene di pianeti
extraterrestri di film come "Star Treck" o "il ritorno dello Jedi").
La
geometria euclidea (quella che si studia a scuola) non si presta a descrivere la
natura; nessuna figura naturale è geometrica come la nostra geometria;
non si trovano in natura triangoli, quadrati, cerchi, sfere, cilindri
ecc.
La natura preferisce le linee curve, oppure delle linee brevi e
spezzate.
Proprio grazie al computer è nata una nuova geometria (non
euclidea) che viene chiamata geometria dei frattali. L'inventore è un
matematico francese di nome Benoit Mandelbrot che nel 1975 pubblicò il
primo libro sull'argomento ("The fractal geometry of nature", la geometria
frattale della natura).
La figura geometrica su cui si basa questa
geometria è il frattale; il nome deriva dal latino fractus, che significa
rotto, spezzato.
Il frattale è qualcosa che non si può vedere
disegnato sulla carta, ma che esiste veramente solo in un computer; si potrebbe
descrivere come una curva spezzata molto finemente, apparentemente del tutto
irregolare ma che, se vista nell'insieme, mostra una regolarità e una
armonia "naturale".
La geometria dei frattali si basa proprio sulla
proprietà della natura, scoperta da Mandelbrot, per la quale il tutto
assomiglia alla sua parte (autosomiglianza).
Per esempio, un'isola rocciosa
vista dall'alto di un aereo sembrerà frastagliata; guardando le sue rocce
da qualche centinaio di metri appariranno frastagliate nello stesso modo;
guardando la singola roccia da qualche metro sembrerà ugualmente
frastagliata.
Proprio su questo nuovo concetto di geometria si basa la
possibilità di creare immagini astratte ma che sembrano assolutamente
"naturali", (piante, animali, paesaggi esistenti) oppure di crearne di nuove,
completamente fantastiche ma assolutamente realistiche.