1 / 17

Costruzione di Interfacce

Costruzione di Interfacce. Antonio Cisternino 19/9/2005. 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

karim
Télécharger la présentation

Costruzione di Interfacce

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Costruzione di Interfacce Antonio Cisternino 19/9/2005

  2. 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 Costruzione di Interfacce

  3. 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 Costruzione di Interfacce

  4. 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 Costruzione di Interfacce

  5. 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? 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) 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 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 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 Costruzione di Interfacce

  10. 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 Costruzione di Interfacce

  11. 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 Costruzione di Interfacce

  12. 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 Costruzione di Interfacce

  13. Windows Vista (WPF - Avalon) Costruzione di Interfacce

  14. Gnome (Cairo) Costruzione di Interfacce

  15. MacOS X (Quartz) Costruzione di Interfacce

  16. Bibliografia • Testi: • R. Scateni, P. Cignoni, C. Montani, R. Scopigno - Fondamenti di grafica tridimensionale interattiva, McGraw-Hill, 2005, ISBN: 88 386 6215-0 • Fondamenti di Computer graphics G. Attardi, Università di Pisa, SEU, 1998. • Consultazione • C. Petzold, Programmare Windows con C#, Microsoft Press, 2001, ISBN: 0-7356-1370-2 • More to come… Costruzione di Interfacce

  17. 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 Costruzione di Interfacce

More Related