INFORMATICA
GRAFICA
LABORATORIO DI INFORMATICA GRAFICA
Corso
di Laurea in Ingegneria Edile-Architettura
Il corso ha il duplice scopo di fornire
i concetti fondamentali dell’informatica (parte I) e gli elementi di base
della grafica computerizzata, gli standard e i più importanti elementi della
modellazione geometrica (parte II). In particolare, ci si propone di fornire
una conoscenza approfondita delle metodologie di costruzione, trasformazione e
presentazione di modelli geometrici (curve, superfici, solidi). Il corso è da intendersi integrato al
corso “Laboratorio di informatica grafica”
in cui verranno effettuate esercitazioni che hanno lo scopo di illustrare le
metodologie precedentemente studiate mediante l’uso di pacchetti software
di grafica raster e vettoriale.
PROGRAMMA DEL CORSO
Parte I – Fondamenti di informatica.
[dispense di “fondamenti di informatica”]
Introduzione al corso e concetti
introduttivi.
Internet e reti di calcolatori. [1 -
cap. 16]
Interfacce testuali e grafiche. [1 -
cap. 17]
Definizione dell'informatica, aree disciplinari e
applicazioni. [1 - cap. 1]
L'elaboratore elettronico
come strumento per risolvere problemi. Principali componenti
hardware e software. [1 - cap. 1]
Architettura di un elaboratore. [1 -
cap. 2]
Sistemi operativi. [1 - cap. 13]
Memorie di massa. [1 - paragrafo
14.1]
Rappresentazione dell'informazione negli elaboratori. [1 - cap. 11]
Rappresentazione e codifica di un insieme di
oggetti.
Rappresentazione dei caratteri: ASCII, ISO 8859 e UNICODE.
Rappresentazione dei numeri
naturali: posizionali e in basi diverse, conversioni da stringa a numero e
viceversa, operazioni ed errori.
Rappresentazioni dei numeri
interi con segno: in modulo e segno e in complemento a 2.
Rappresentazione numeri reali: normalizzata e approssimata,
operazioni ed errori.
Rappresentazione e codifica di immagini:
discretizzazione e rappresentazioni dei pixel, tecniche
di compressione, formati file, immagini in movimento e codifca
MPEG.
Rappresentazione dei suoni: campionamento e quantizzazione.
Operatori
logici. Variabili, funzioni e algebra booleana.
Elementi di
programmazione.
Algoritmi e programmi. Metodologie di programmazione. I
linguaggi di alto livello. Sintassi e semantica di un
linguaggio di programmazione. Definizione formale di grammatica. BNF, diagrammi e alberi
sintattici. Analizzatore sintattico. [dispense di fondamenti di
informatica]
Dal linguaggio macchina ai linguaggi di alto
livello. Ambienti integrati. Traduttori. Fasi di sviluppo e testing
dei programmi. [1- paragrafo 1.4.5]
Introduzione al C. [1 - cap. 3÷7, 9]
Caratteristiche del linguaggio.
Tipi di dato primitivi e
derivati, costanti,
espressioni semplici e composte, operatori e loro priorità e associatività.
Variabili: L-value, R-value, definizione e inizializzazione,
proprietà.
Effetti collaterali: assegnamento e auto-incremento/decremento.
Struttura dei programmi C: il main,
Il modello cliente-servitore. L’interfaccia di comunicazione:
parametri e valore di ritorno, information hiding.
Chiamata di funzione: binding
parametri formali e attuali, environment e record di attivazione.
Passaggio dei parametri per valore e per riferimento.
Progetti su più file. Dichiarazioni
di funzioni. Funzioni e file. Funzioni e variabili locali/globali.
Programmazione
strutturata. Istruzioni semplici e di controllo (blocco, selezione, iterazione e salto).
Il preprocessore. Direttive include, define e ifdef. File header e cautele d’uso. Macro semplici e
parametriche.
Procedure. Operatori di estrazione
di indirizzo e dereferenziazione. Puntatori
e passaggio per puntatore.
Dati strutturati: array e strutture.
Array
passati come parametri. Aritmetica e scalarità dei
puntatori. Array multidimensionali.
Incapsulamento di array in
una struttura.
Canali
di I/O. I/O a caratteri, a stringhe, formattato. Specifiche di
formato.
Il concetto di file: apertura, lettura, scrittura e chiusura.
File binari e di testo.
Parte II – Fondamenti di grafica computerizzata.
Introduzione. [2 – cap. 1]
Definizione di “informatica grafica” e “Computer Graphics”.
Immagini digitali: grafica raster e vettoriale.
Componenti hardware e software per la grafica.
Grafica raster. [2 – cap. 2]
La percezione: struttura, funzioni e prestazioni del sistema visivo umano.
Il colore come fenomeno fisico: luce, onde e spettro.
Codifica
del colore e spazi cromatici.
Elaborazione di immagini.
Calibrazione dei dispositivi, visualizzazione e stampa.
Introduzione alla grafica 3D. [2 – cap. 3]
Schema di un’applicazione grafica (pipeline).
Strumenti per la grafica 3D.
Architettura di un renderer.
Trasformazioni di modellazione. [2 – cap. 4]
Spazi geometrici e matrici.
Sistemi di riferimento e matrice di cambiamento di frame.
Trasformazioni affini: traslazioni, rotazioni attorno agli assi e inverse, scalatura.
Composizione di trasformazioni.
Trasformazioni di vista. [2 – cap. 5]
Definizione e classificazione delle proiezioni.
Metafore object
vs viewer e macchina
fotografica virtuale (pinhole camera).
Metodi
per piazzare la camera e
specificare una vista 3D arbitraria.
Definizione del volume di vista e della legge di proiezione.
Matrici per le trasformazioni di vista.
Rendering. [2 – cap. 6]
Lighting e shading.
Modelli per le sorgenti luminose.
Modelli di illuminazione locali (Phong) e globali (ray-tracing e radiosità)
Modelli per i materiali e tecniche di texture mapping.
Tecniche di shading locale (flat, interpolato, Gouraud e Phong).
Rasterizzazione di linee e di poligoni.
Clipping di segmenti e di poligoni.
Antialiasing.
Determinazione
delle superfici visibili: tipi di coerenza, algoritmi conservativi, image e object precision.
Modellazione geometrica. [2 – cap. 7]
Tipi di rappresentazione delle curve.
Forme algebrica, vettoriale e geometrica delle curve parametriche.
Curve di Hermite, Bezier, B-spline e NURBS.
Mesh, superfici parametriche e superfici generative.
Modellazione solida. [2 – cap. 8]
Operazioni booleane su solidi.
Schemi di rappresentazione: primitive instancing, sweep, B-rep (poliedri), spatial partitioning, constructive solid geometry (CSG).
Scelta di una rappresentazione.
Parte
III – Esercitazioni
Gli strumenti CAD nella rappresentazione e nel progetto.
Esercitazioni
in laboratorio con AutoCAD®.
[4]
AutoCAD 2D.
Gli
elementi dell'interfaccia. Modalità di inserimento
dei comandi. Creazione di un disegno da zero. I cinque metodi di inserimento coordinate con esempi di disegno. Snap alla griglia e ad oggetti. Puntamento polare e snap polare. Metodi di selezione di oggetti. I layer. Inserimento
di testi. Filtri per la selezione di oggetti e gruppi.
Creazione e inserimento di blocchi. Quotatura dei
disegni.
AutoCAD 3D.
Modellazione 3D: modelli wireframe, di superfici e solidi. Inserimento di coordinate 3D. I sistemi di coordinate WCS (globali) e UCS (utente).
Visualizzazione in 3D: modo ombra e render. Comandi relativi al punto di vista. Sistemi di coordinate utente.
Rendering:
creazione del modello 3D (solidi o superfici), scelta del punto di vista,
sfondi, nebbia, paesaggi, luci (circostante, puntiforme, distante, spotlight), materiali, scene, tipi di rendering
(normale, qualità fotografica, raytracing
fotografico), comando render.
3D studio max. [opzionale]
Interfaccia. Creazione e modifica di primitive 2D e 3D. Inserimento di materiali (mappe e tessiture), luci e camere. Rendering.
L’immagine digitale e la comunicazione visiva.
Esercitazioni
in laboratorio con Adobe Photoshop.
[5]
Interfaccia. Formati dei file. Metodi di rappresentazione. Dimensione,
risoluzione e interpolazioni.
Tecniche di selezione. Menù strumenti. Palette storia. Livelli, canali e istogrammi.
Regolazione di livelli, curve,
luminosità, contrasto, tonalità e
saturazione. Effetti e filtri. Profili ICC.
Parte
I:
1.
S. Ceri, D. Mandrioli, L. Sbattella.
Informatica - arte e mestiere. McGraw-Hill,
1994.
Parte
II:
2.
P.Zingaretti,
Fondamenti di Computer Graphics, Pitagora,
2004.
Parte
III:
3.
J.A. Leach, AutoCAD 2002, McGraw-Hill, 2002 o Manuale AutoCAD®.
4. M. Lennox, Adobe Photoshop 5.5 subito e facile, Mondatori informatica, 2000 o Manuale Adobe Photoshop