Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Costruzione di Interfacce
Antonio Cisternino 19/9/2005
2
Costruzione di Interfacce
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 Lez /9/2005 Costruzione di Interfacce
3
Costruzione di Interfacce
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 Lez /9/2005 Costruzione di Interfacce
4
Costruzione di Interfacce
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 Lez /9/2005 Costruzione di Interfacce
5
Costruzione di Interfacce
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? Lez /9/2005 Costruzione di Interfacce
6
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) Lez /9/2005 Costruzione di Interfacce
7
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 Lez /9/2005 Costruzione di Interfacce
8
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 Lez /9/2005 Costruzione di Interfacce
9
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 Lez /9/2005 Costruzione di Interfacce
10
Costruzione di Interfacce
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 Lez /9/2005 Costruzione di Interfacce
11
Costruzione di Interfacce
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 Lez /9/2005 Costruzione di Interfacce
12
Costruzione di Interfacce
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 Unione tra grafica 2D e grafica 3D Lez /9/2005 Costruzione di Interfacce
13
Windows Vista (WPF - Avalon)
Lez /9/2005 Costruzione di Interfacce
14
Costruzione di Interfacce
Gnome (Cairo) Lez /9/2005 Costruzione di Interfacce
15
Costruzione di Interfacce
MacOS X (Quartz) Lez /9/2005 Costruzione di Interfacce
16
Costruzione di Interfacce
Bibliografia Testi: 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, 1998. Consultazione C. Petzold, Programmare Windows con C#, Microsoft Press, 2001, ISBN: More to come… Lez /9/2005 Costruzione di Interfacce
17
Costruzione di Interfacce
Modalità di esame Durante il corso saranno realizzati due progetti: MidTerm: realizzazione di un controllo grafico in C++ FinalTerm: realizzazione di un’applicazione grafica Chi ha già seguito l’anno scorso? Può fare l’esame di Paolo fino alla sessione invernale Lez /9/2005 Costruzione di Interfacce
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.