Costruzione di interfacce
Download
1 / 17

Costruzione di Interfacce - PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Costruzione di Interfacce' - karim


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Costruzione di interfacce

Costruzione di Interfacce

Antonio Cisternino

19/9/2005


Syllabus
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


Introduzione a c
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


Sistemi grafici
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


Fondamenti di grafica
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


Sistemi di riferimento e trasformazioni geometriche
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


Programmazione ad eventi
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


Modello model view controller
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


Librerie e framework per la grafica
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


Interfacce web
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


Cenni alla grafica 3d
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


What s next
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


Windows vista wpf avalon
Windows Vista (WPF - Avalon)

Costruzione di Interfacce


Gnome cairo
Gnome (Cairo)

Costruzione di Interfacce


Macos x quartz
MacOS X (Quartz)

Costruzione di Interfacce


Bibliografia
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


Modalit di esame
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