La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Costruzione di Interfacce Antonio Cisternino 19/9/2005.

Presentazioni simili


Presentazione sul tema: "Costruzione di Interfacce Antonio Cisternino 19/9/2005."— Transcript della presentazione:

1 Costruzione di Interfacce Antonio Cisternino 19/9/2005

2 Lez /9/2005Costruzione di Interfacce2 Syllabus  Introduzione a C++  Sistemi grafici  Fondamenti di grafica  Modello model-view-controller  Programmazione ad eventi  Sistemi di riferimento e trasformazioni geometriche  Librerie e framework per la grafica  Programmazione di interfacce grafiche  Interfacce Web  Cenni alla grafica 3D

3 Lez /9/2005Costruzione di Interfacce3 Introduzione a C++  C++ è un linguaggio importante nel modo delle interfacce grafiche  Gli oggetti coinvolti sono spesso grandi, e richiedono la manipolazione di grandi quantità di memoria  La possibilità di gestire esplicitamente la memoria unita al supporto OOP rende C++ un linguaggio rilevante in questo ambito

4 Lez /9/2005Costruzione di Interfacce4 Sistemi grafici  La conoscenza della struttura di un sistema grafico è importante per capire la struttura dei famework  Negli ultimi anni i sistemi grafici sono divenuti sempre più complessi, e la loro evoluzione sta condizionando quella del software  La GPU ormai affianca la CPU  I dispositivi di I/O stanno crescendo e differenziandosi

5 Lez /9/2005Costruzione di Interfacce5 Fondamenti di grafica  Ma come funziona un sistema a finestre?  Quali sono le operazioni primitive che servono a realizzarne le funzionalità di base?  Come si possono trasformare entità geometriche come linee e curve in punti?  E come si possono descrivere?

6 Lez /9/2005Costruzione di Interfacce6 Sistemi di riferimento e trasformazioni geometriche  I sistemi grafici fanno ampio uso di sistemi di coordinate (schermo, stampante, finestra, …)  Spesso è necessario effettuare conversioni da uno all’altro  È anche importante saper trasformare oggetti o spostarli (es.: traslazione, rotazione, scalatura)

7 Lez /9/2005Costruzione di Interfacce7 Programmazione ad eventi  Il modello ad eventi è alla base della programmazione delle interfacce grafiche  Questo paradigma consente alla GUI di coordinare l’accesso ai dispositivi di input e output  Il sistema grafico è responsabile per notificare eventi alle varie applicazioni

8 Lez /9/2005Costruzione di Interfacce8 Modello model-view-controller  Le interfacce grafiche sono naturalmente basate su componenti grafici (bottoni, liste, alberi, …)  Questi componenti, e le applicazioni che le usano seguono un design pattern noto col nome di Model-View-Controller  La sua comprensione è fondamentale per essere in grado di estendere framework grafici

9 Lez /9/2005Costruzione di Interfacce9 Librerie e framework per la grafica  La conoscenza di librerie e framework per la programmazione di interfacce grafiche è importante  La loro struttura è simile  Si vogliono isolare i concetti base che stanno dietro ai framework disponibili  Evoluzione dalla grafica raster a quella vettoriale

10 Lez /9/2005Costruzione di Interfacce10 Interfacce Web  Il browser viene usato sempre più spesso per realizzare interfacce grafiche  La sua capacità di mischiare testo, grafica, e interattività lo rende ideale in numerose applicazioni  Un’applicazione si basa su tre elementi: CSS, DHTML, e JavaScript  Altre tecnologie coinvolte: XML, XSLT

11 Lez /9/2005Costruzione di Interfacce11 Cenni alla grafica 3D  Come funzionano i sistemi grafici 3D?  Elementi fondamentali: estensione della geometria 2D al 3D  Il modello Pinhole Camera  Lo scenegraph  Principali problematiche: illuminazione, geometria, shading  VRML e JavaScript

12 Lez /9/2005Costruzione di Interfacce12 What’s next?  I sistemi grafici sono sempre in profonda evoluzione  Anche le metafore stanno cambiando per adeguarsi ad interfacce di crescente complessità  I principali sistemi grafici stanno evolvendo verso: Grafica vettoriale Grafica vettoriale Unione tra grafica 2D e grafica 3D Unione tra grafica 2D e grafica 3D

13 Lez /9/2005Costruzione di Interfacce13 Windows Vista (WPF - Avalon)

14 Lez /9/2005Costruzione di Interfacce14 Gnome (Cairo)

15 Lez /9/2005Costruzione di Interfacce15 MacOS X (Quartz)

16 Lez /9/2005Costruzione di Interfacce16 Bibliografia  Testi: R. Scateni, P. Cignoni, C. Montani, R. Scopigno - Fondamenti di grafica tridimensionale interattiva, McGraw-Hill, 2005, ISBN: R. Scateni, P. Cignoni, C. Montani, R. Scopigno - Fondamenti di grafica tridimensionale interattiva, McGraw-Hill, 2005, ISBN: Fondamenti di Computer graphics G. Attardi, Università di Pisa, SEU, Fondamenti di Computer graphics G. Attardi, Università di Pisa, SEU,  Consultazione C. Petzold, Programmare Windows con C#, Microsoft Press, 2001, ISBN: C. Petzold, Programmare Windows con C#, Microsoft Press, 2001, ISBN: More to come… More to come…

17 Lez /9/2005Costruzione di Interfacce17 Modalità di esame  Durante il corso saranno realizzati due progetti: MidTerm: realizzazione di un controllo grafico in C++ MidTerm: realizzazione di un controllo grafico in C++ FinalTerm: realizzazione di un’applicazione grafica FinalTerm: realizzazione di un’applicazione grafica  Chi ha già seguito l’anno scorso? Può fare l’esame di Paolo fino alla sessione invernale


Scaricare ppt "Costruzione di Interfacce Antonio Cisternino 19/9/2005."

Presentazioni simili


Annunci Google