INFORMATICA GRAFICA

LABORATORIO DI INFORMATICA GRAFICA

Corso di Laurea in Ingegneria Edile-Architettura

Anno Accademico 2005/2006

Prof. Primo Zingaretti

 

 


OBIETTIVI FORMATIVI

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.

La codifica MIME.

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 solida. [2 – cap. 8, slide]

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.

 


TESTI DI RIFERIMENTO:

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 7 Guida Completa, Apogeo, 2005 o manuale 3D studio max®

7.      Adobe staff, Adobe Photoshop CS, Pearson Education Italia, 2004 o Manuale Adobe Photoshop

 

 

Data ultimo aggiornamento 07/06/2006.