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 (parte II). 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, slide]
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, slide]
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, slide]
Schema di un’applicazione grafica (pipeline).
Strumenti per la grafica 3D.
Architettura di un renderer.
Trasformazioni di modellazione. [2 – cap. 4, slide]
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, slide]
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, slide]
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, slide]
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 sol
Operazioni booleane su solidi.
Schemi di rappresentazione: primitive instancing, sweep, B-rep (poliedri), spatial partitioning, constructive solid geometry (CSG).
Scelta di una rappresentazione.
Uno sguardo al futuro. [2
– cap. 9, slide]
Image based modelling and rendering.
Parte
III – Esercitazioni
AutoCAD 3D [5]
Ripasso dei concetti fondamentali di Autocad: interfaccia,
inserimento coordinate, snap, metodi di selezione, layer, blocchi, ecc.
Modellazione 3D: modelli wireframe, di superfici e solidi. 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:
luci, materiali e tipi di rendering.
3D studio max [6]
Interfaccia. Importazione di file Autocad e modifica di primitive 3D.
Inserimento e modifica di materiali (mappe e tessiture), luci e camere.
Rendering veloce ed avanzato.
L’immagine digitale e la comunicazione visiva.
Esercitazioni
in laboratorio con Adobe Photoshop. [7]
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.
2. Dispense del docente per il corso di “Fondamenti di informatica” (disponibili c/o servizio fotocopie)
Parte
II:
3.
P.Zingaretti, Fondamenti
di Computer Graphics, Pitagora, 2004.
4.
Slide
presentate a lezione (password per l’apertura del file comunicata a
lezione)
Parte
III:
5.
J.A. Leach, AutoCAD 2002, McGraw-Hill,
2002 o Manuale AutoCAD®.
6. T. Boardman, 3D Studio
Max 6 Gu
7.
Adobe
staff, Adobe Photoshop 7, Adobe Press, 2002 o Manuale Adobe Photoshop