INFORMATICA GRAFICA!

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INFORMATICA GRAFICA!"

Transcript

1 Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 11 Maggio! Interattività! Michele Antolini

2 Input! Libreria glut! interfaccia con il window system! gestione eventi! gestione input keyboard/mouse! primitive 3D! realizza trasparenza rispetto al window system sottostante!

3 Input! Input da tastiera! glutkeyboardfunc( void (*func)(unsigned int key, int x, int y) Quando viene premuto un tasto ne restituisce il codice ASCII (key) e le coordinate (x,y) del mouse al momento della pressione! void key_pressed(int key, int x, int y) { if(key == Q key == q ) exit(0); } Non viene riconosciuto lʼevento di rilascio del tasto!

4 Input! Input da tastiera!! GLUT definisce tasti speciali in glut.h! Tasto F1: GLUT_KEY_F1 Tasto freccia in alto: GLUT_KEY_UP Etc. per F2, DOWN, LEFT...! Modificatori:! GLUT_ACTIVE_SHIFT GLUT_ACTIVE_CTRL GLUT_ACTIVE_ALT Restituiti dalla glutgetmodifiers() if ( glutgetmodifiers() == GLUT_ACTIVE_SHIFT )...

5 Input! Eventi di input! glutmousefunc(void (*func)(int button, int state, int x, int y)) Pressione di un tasto del mouse! button può valere! GLUT_LEFT_BUTTON! GLUT_RIGHT_BUTTON! GLUT_MIDDLE_BUTTON! state può valere! GLUT_UP! GLUT_DOWN!

6 Input! Eventi di input! glutmotionfunc( void (*func)(int x, int y) ) Questa callback viene attivata quando il mouse si muove con uno o più tasti premuti! glutpassivemotionfunc( void (*func)(int x, int y) ) Questa callback viene attivata quando il mouse si muove senza tasti premuti

7 Input! Operazioni in background glutidlefunc( void (*func)() ) Questa callback viene attivata quando non avvengono eventi durante lʼesecuzione del main loop! gluttimerfunc (unsigned int msecs, void (*func) (int value), value); esegue la funzione specificata nel secondo parametro dopo almeno msecs millisecondi, passando il valore value! viene eseguita solo una volta! per ottenere un loop, richiamare la gluttimerfunc alla fine della funzione chiamata!!

8 Input! Operazioni in background Ad esempio:! void Timer(int extra) { // code... glutpostredisplay(); gluttimerfunc(30,timer,0); } void Timer(int extra) { glutpostredisplay(); gluttimerfunc(30,timer,0); } int main(void) { glutinitdisplaymode(glut_double GLUT_RGB); glutcreatewindow( Window title"); glutdisplayfunc(display); gluttimerfunc(30,timer,0); glmatrixmode(gl_projection); glloadidentity(); glfrustum(-1,1,-1,1,1,3); gltranslated(0,0,-2); glmatrixmode(gl_modelview); glutmainloop(); return 0; }

9 Input! Ridisegno della scena!! Allʼinterno delle callback, se vengono cambiati parametri che influenzano il disegno della scena, è necessario avvertire il motore grafico della necessità di ridisegnarla! Per fare ciò, è necessario chiamare la funzione glutpostredisplay();!

10 Double Buffering! Ottimizzazione del rendering di una scena! Si utilizzano due buffer:! front buffer: visualizzato, non modificabile! back buffer: modificabile, non visualizzato! Alla fine della display() i buffer vengono scambiati! Abilitazione double buffer:! glutinitdisplaymode( GL_DOUBLE...[altri flag );! Scambio dei buffer alla fine della display():! void Display() { glclear(). /* disegno scena */. glutswapbuffers() }

11 Sistemi di coordinate! I sistemi di coordinate di OpenGL e della finestra sono differenti! OpenGL ha (0,0) in alto a sinistra (per la convenzione del refresh dello schermo da sinistra a destra, dallʼalto in basso)! La finestra ha (0,0) in basso a sinistra! I parametri y delle callback vanno riassegnati se si vogliono riutilizzare per disegnare tramite OpenGL! y_gl = window_height y_win

12 Picking! Disegnando una scena, è possibile dare dei nomi (indici) agli oggetti disegnati! Passando alla modalità GL_SELECT è possibile controllare se il mouse è sopra uno degli oggetti (ed ovviamente conoscere quale)! Allʼinizio della display, azzerare lo stack dei nomi con glinitnames() Prima di disegnare un oggetto, chiamare glpushname( int name ) Disegnare lʼoggetto! Chiamare glpopname(); Si possono anche innestare Push e Pop per creare gerarchie!!

13 Picking! void display() {... glinitnames(); glpushname(0); //si può usare una costante... drawbody(); glpopname(); glpushname(1); drawhead(); draweyes(); glpopname(); drawground(); }...

14 Picking! Una volta dato un nome agli oggetti disegnati, il trucco è il seguente:! Date le coordinate del mouse e il viewport attuale, ridisegnamo la scena in modalità GL_SELECT utilizzando un nuovo viewport intorno al cursore (nel nostro esempio, un quadrato 5x5 pixel)! Tornando alla modalità GL_RENDER (quella predefinita) OpenGL restituisce il numero di oggetti (con un nome) disegnati! Gli oggetti disegnati, sono quelli la cui proiezione appare alle coordinate attuali del mouse!

15 Picking! #define BUFSIZE 512 GLuint selectbuf[bufsize];... void startpicking(int cursorx, int cursory) { GLint viewport[4]; glselectbuffer(bufsize,selectbuf); //imposta il buffer per la selezione glgetintegerv(gl_viewport, viewport); //riceve il viewport corrente [x,y,w,h] glrendermode(gl_select); //modalità selezione } glmatrixmode(gl_projection); //modifica della proiezione attuale glpushmatrix(); glloadidentity(); glupickmatrix(cursorx,viewport[3]-cursory, 5, 5, viewport); gluperspective(45,viewport[2]/viewport[3],0.1,1000); glmatrixmode(gl_modelview); display(); //ridisegna la scena (in selection mode) glmatrixmode(gl_projection); glpopmatrix(); //reimposto la matrice in modalità GL_PROJECTION!!!! hits = glrendermode(gl_render); //ora è possibile processare il select buffer glmatrixmode(gl_modelview); //reimpostiamo la modalità di disegno

16 Picking! Selection buffer! Il numero di hits restituito dalla glrendermode() dice quanti oggetti sono stati effettivamente disegnati! Lʼarray selectbuf viene riempito in questo modo:! N oggetti nella name stack può essere >1 se si usano gerarchie Z minimo Z max Nome (indice) ripetuto se il primo campo > 1!!

17 Picking! Esempio di selection buffer:! hits = 3!! 0 //è stato disegnato un oggetto, name stack vuoto 10 //z min 2000 //z max 2 //è stato disegnato un oggetto,name stack conteneva 2 valori 2 //z min <- è il valore più basso, l utente vede questo 300 //z max 1 // primo valore nel name stack 2 // secondo valore nel name stack 1 //questa volta la name stack conteneva un solo valore 50 //z min 600 //z max 3 // valore nel name stack

18 glunproject! Eʼ possibile ottenere le coordinate xyz di un punto visualizzato sulla viewport tramite la funzione glunproject! GLint gluunproject( GLdouble winx, GLdouble GLdouble winy, const GLdouble * visualizzazione ModelView const GLdouble * proiezione const GLint * GLdouble* GLdouble* GLdouble* winz, // coordinate del punto objx, objy, model, //matrice di proj, //matrice di view, //viewport objz); //coordinate del punto

19 glreadpixel! Lettura dei dati del framebuffer!! void glreadpixels( GLint x, GLint GLsizei y, //coordinate x e y da leggere width, GLsizei height, //dimensione del rettangolo GLenum format, //varie opzioni, le più importanti sono GL_RGB, GL_DEPTH_COMPONENT GLenum GLvoid * type, //GL_BYTE,GL_UNSIGNED_INT,etc data);!

20 glunproject! Eʼ possibile ottenere le coordinate xyz di un punto visualizzato sulla viewport tramite la funzione glunproject! CVector3D GetOGLPos(int x, int y){ GLint viewport[4]; GLdouble modelview[16], projection[16]; GLfloat winx, winy, winz; GLdouble posx, posy, posz; glgetdoublev( GL_MODELVIEW_MATRIX, modelview ); glgetdoublev( GL_PROJECTION_MATRIX, projection ); glgetintegerv( GL_VIEWPORT, viewport ); winx = (float)x; winy = (float)viewport[3] - (float)y; glreadpixels( x, int(winy), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winz ); gluunproject( winx, winy, winz, modelview, projection, viewport, &posx, &posy, &posz); } return CVector3(posX, posy, posz);

INFORMATICA GRAFICA. 5 Maggio Interattività. Michele Antolini

INFORMATICA GRAFICA. 5 Maggio Interattività. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 5 Maggio Interattività michele.antolini@mail.polimi.it Input Libreria glut interfaccia con il window system gestione

Dettagli

INFORMATICA GRAFICA. 20 Aprile Introduzione a OpenGL. Michele Antolini michele.antolini@mail.polimi.it

INFORMATICA GRAFICA. 20 Aprile Introduzione a OpenGL. Michele Antolini michele.antolini@mail.polimi.it Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 20 Aprile Introduzione a OpenGL michele.antolini@mail.polimi.it Computer graphics I programmi di grafica (non solo

Dettagli

Introduzione SOMMARIO

Introduzione SOMMARIO SOMMARIO Introduzione alle librerie grafiche e a OpenGL Implementazioni hw e sw e supporto multipiattaforma Esempi di programma con OpenGL Sistemi di coordinate 2D e 3D Proiezioni Primitive 3D Pipeline

Dettagli

INFORMATICA GRAFICA. 25 Marzo Introduzione a OpenGL. Michele Antolini

INFORMATICA GRAFICA. 25 Marzo Introduzione a OpenGL. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 25 Marzo Introduzione a OpenGL michele.antolini@mail.polimi.it Computer graphics I programmi di grafica (non solo

Dettagli

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma Introduzione Costruzione di Interfacce Primi passi in OpenGL cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Abbiamo visto Cosa significa rendering L approccio object viewer Mettiamo in pratica

Dettagli

Moebius8. CFormView. CFormView. CSplitterWnd. Doppia View. Partiamo nuovamente da zero

Moebius8. CFormView. CFormView. CSplitterWnd. Doppia View. Partiamo nuovamente da zero Moebius8 Costruzione di Interfacce Lezione 24 Gl Selection; MFC: menu e toolbar cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Partiamo nuovamente da zero App Mfc, questa volta SDI Cambiamo I

Dettagli

INFORMATICA GRAFICA. 12 Maggio Display lists, blending, fog. Michele Antolini

INFORMATICA GRAFICA. 12 Maggio Display lists, blending, fog. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 12 Maggio Display lists, blending, fog michele.antolini@mail.polimi.it BLENDING Blending Il blending (letteralmente

Dettagli

INFORMATICA GRAFICA!

INFORMATICA GRAFICA! Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 18 Maggio! Vertex array, VBO, Display lists! Michele Antolini michele.antolini@mail.polimi.it! Prestazioni! Abbiamo

Dettagli

Realizzazione di un semplice programma di Painting

Realizzazione di un semplice programma di Painting Realizzazione di un semplice proramma di Paintin In un proramma di paintin si interaisce pesantemente con lo spazio dei Pixel fisici e non più con i pixel trasformati da coordinate mondo a coordinate schermo.

Dettagli

OpenGL: visualizzazione 3D

OpenGL: visualizzazione 3D OpenGL: visualizzazione 3D La visualizzazione di una scena avviene come se si stesse usando una macchina fotografica per la quale si può controllare la posizione nello spazio 3D; si può cambiare il tipo

Dettagli

Proiezione Stereoscopica

Proiezione Stereoscopica Proiezione Stereoscopica Sistema di Realtà Virtuale e 3D Stereo Rendering Museo dell'informatica di Cesena Andrea Bernardi (bernardi@csr.unibo.it) Stefano Cacciaguerra (scacciag@cs.unibo.it) Contenuto

Dettagli

Corso di grafica 3D con C++ e OpenGL. Alessandro Bugatti ITIS B. Castelli

Corso di grafica 3D con C++ e OpenGL. Alessandro Bugatti ITIS B. Castelli Corso di grafica 3D con C++ e OpenGL Utilizzo di quadriche Una quadrica in 3D è ogni superficie rappresentata da un'equazione polinomiale del secondo ordine nelle variabili spaziali (coordinate). Esempi

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale OpenGl + SDL Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Storia Specifica di libreria per la scrittura di applicazioni di grafica 3D Cross-Language Cross-Platform

Dettagli

GAME DEV: tools programming. Parte 2: programming

GAME DEV: tools programming. Parte 2: programming GAME DEV: tools programming Parte 2: programming Marco Tarini Tools per programmare un tool: 1. Tools per GUI programming 2. API grafiche (opengl, directx) 3. Interfacciamento con SO (sist. op.) finestre

Dettagli

Corso di VIDEOGAMES. PROGETTO Labirinto. Guida alla creazione di un VIDEOGAMES. Parte SECONDA Creiamo il Labirinto ed iniziamo a Muovere il Giocatore

Corso di VIDEOGAMES. PROGETTO Labirinto. Guida alla creazione di un VIDEOGAMES. Parte SECONDA Creiamo il Labirinto ed iniziamo a Muovere il Giocatore Guida alla creazione di un VIDEOGAMES PROGETTO Labirinto Parte SECONDA Creiamo il Labirinto ed iniziamo a Muovere il Giocatore prof. Michele Salvemini Indice Il labirinto... 3 Integriamo la classe Console...

Dettagli

OpenGL effects. Texture Mapping. La fase di texture mapping serve a conferire maggiore realismo agli oggetti della scena 3D.

OpenGL effects. Texture Mapping. La fase di texture mapping serve a conferire maggiore realismo agli oggetti della scena 3D. Texture Mappin La fase di texture mappin serve a conferire maiore realismo ali oetti della scena 3D. Richiede molte risorse di calcolo specie se il modello eometrico è particolarmente complesso. ampi di

Dettagli

Una libreria OpenGL per la selezione e editing di mesh poligonali

Una libreria OpenGL per la selezione e editing di mesh poligonali Alma Mater Studiorum Università di Bologna SCUOLA DI SCIENZE Corso di Laurea in Informatica Una libreria OpenGL per la selezione e editing di mesh poligonali Tesi di Laurea in Grafica Relatore: Chiar.mo

Dettagli

float somma_float(float a, float b) int get_ascii(char c)

float somma_float(float a, float b) int get_ascii(char c) Una funzione è caratterizzata da: Tipo di dato restituito void (non restituisce nulla) int, una struttura definita dal programmatore ecc Nome della funzione Elenco parametri in ingresso, specifica: il

Dettagli

Informatica Grafica. (III anno Laurea Triennale - Corso di Laurea in Informatica) Donato D Ambrosio

Informatica Grafica. (III anno Laurea Triennale - Corso di Laurea in Informatica) Donato D Ambrosio Informatica Grafica (III anno Laurea Triennale - Corso di Laurea in Informatica) Donato D Ambrosio Dipartimento di Matematica e Centro d Eccellenza per il Calcolo ad Alte Prestazioni Cubo 22B, Università

Dettagli

Le funzioni, e le istruzioni di input/output

Le funzioni, e le istruzioni di input/output Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

Laboratorio di Architettura lezione 11. La scorsa lezione. Motivi? Word e bytes

Laboratorio di Architettura lezione 11. La scorsa lezione. Motivi? Word e bytes Laboratorio di Architettura lezione 11 Massimo Marchiori W3C/MIT/UNIVE La scorsa lezione Nove gradi di separazione Procedure ricorsive Stack Push / Pop Fibonacci Word e bytes Finora, abbiamo solo agito

Dettagli

PROTOCOLLO INFORMATICO AZIENDALE

PROTOCOLLO INFORMATICO AZIENDALE Pagina 1 di 14 PROTOCOLLO INFORMATICO AZIENDALE MODALITA DI ACCESSO E DI USCITA DAL PROGRAMMA File Protocollo Informatico Aziendale, modalità di accesso e di uscita dal Rev.0 del 23.03.2009 Data di applicazione

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

14 - Metodi e Costruttori

14 - Metodi e Costruttori 14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Lezione 2. Il desktop LE ICONE

Lezione 2. Il desktop LE ICONE Lezione 2 Il desktop La prima schermata (immagine) che vedi sul tuo monitor, dopo aver acceso il pc (e dopo il caricamento del sistema operativo) è ildesktop. Questo è il punto di partenza per accedere

Dettagli

RHINOCEROS FLAMINGO PENGUIN BONGO

RHINOCEROS FLAMINGO PENGUIN BONGO RHINOCEROS FLAMINGO PENGUIN BONGO INDICE:.02 07 / 0 introduzione a Rhinoceros struttura del programma: riga dei comandi, barra di stato, barra degli strumenti layer, proprietà oggetti, mouse e tastiera

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Lettura da tastiera e scrittura su monitor

Lettura da tastiera e scrittura su monitor Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

CREARE UN GRAFICO CON EXCEL 2007

CREARE UN GRAFICO CON EXCEL 2007 CREARE UN GRAFICO CON EXCEL 2007 Ecco come creare un grafico velocemente. Crea la seguente tabella: Seleziona, col tasto sinistro del mouse premuto, dalla casella B3 alla C7; nella Barra dei Menù, sotto

Dettagli

Guida a Getrix: Indice Multimedia Planimetria

Guida a Getrix: Indice Multimedia Planimetria Guida a Getrix: Indice Multimedia Planimetria Multimedia - PLANIMETRIA: Crea Modifica Cancella Ottieni URL (Multimedia Planimetria) pag. 2 - Creare una Planimetria: Costruzione (Multimedia Planimetria

Dettagli

Sommario Accettazione:... 3 Numerazione code:... 3 Emissione ricevuta:... 4 Aggiunta prestazione in cassa:... 5

Sommario Accettazione:... 3 Numerazione code:... 3 Emissione ricevuta:... 4 Aggiunta prestazione in cassa:... 5 1 Sommario 1) Accettazione:... 3 2) Numerazione code:... 3 3) Emissione ricevuta:... 4 4) Aggiunta prestazione in cassa:... 5 5) Invia al medico senza la stampa della ricevuta:... 6 6) Stampa in coda prioritaria

Dettagli

Computer Graphics. Realtà Virtuale: il presente, il passato, 3D il Graphics futuro

Computer Graphics. Realtà Virtuale: il presente, il passato, 3D il Graphics futuro Computer Graphics Immagine sul Raster Display Il RASTER è costituito da più SCAN LINES Ogni Scan Line è formata da più PIXEL La matrice di Pixel è memorizzata nel FRAME BUFFER Un unico frame buffer porterebbe

Dettagli

Produzione di un clip video promozionale per un azienda di catering

Produzione di un clip video promozionale per un azienda di catering Produzione di un clip video promozionale per un azienda di catering Per la creazione del clip si utilizzerà il software Adobe Photoshop. Il video viene creato utilizzando un insieme di immagini statiche,

Dettagli

Mouse. Mike McBride Brad Hards Traduzione del documento: Samuele Kaplun

Mouse. Mike McBride Brad Hards Traduzione del documento: Samuele Kaplun Mike McBride Brad Hards Traduzione del documento: Samuele Kaplun 2 Indice 1 Mouse 4 1.1 Generale........................................... 4 1.2 Avanzate........................................... 4 1.3

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

Programmazione modulare

Programmazione modulare Programmiamo in.. Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere

Dettagli

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000.

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000. 4-129-746-42 (1) Printer Driver Guida per la configurazione Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000. Prima dell utilizzo del

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Python moduli classi e qualche funzione grafica di base

Python moduli classi e qualche funzione grafica di base Python moduli classi e qualche funzione grafica di base Loriano Storchi loriano@storchi.org http:://www.storchi.org/ I moduli I moduli sono codice sorgente, quindi una collezione di dati, funzioni e classi

Dettagli

Directory. Le directory unix sono file.

Directory. Le directory unix sono file. Le directory unix sono file. Directory Molte system call per i file ordinari possono essere utilizzate per le directory. E.g. open, read, fstat, close. Tuttavia le directory non possono essere create con

Dettagli

Questo comando permette di riportare la mappa al livello di zoom e alle coordinate iniziali predefinite. Utilizzo: cliccare sul pulsante.

Questo comando permette di riportare la mappa al livello di zoom e alle coordinate iniziali predefinite. Utilizzo: cliccare sul pulsante. Strumenti standard La barra degli strumenti si trova sopra la mappa. Gli strumenti sono identificati da pulsanti il cui aspetto grafico già di per sè spesso ne descrive la funzione. Sostando con il puntatore

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale lezione34 Informatica e Automazione, "Roma Tre" May 27, 2010 Grafica Computazionale: Lezione 33 OpenGL examples Perspective projection Parallel projection Isomorphic viewport transformation

Dettagli

Annotazione schermata

Annotazione schermata Annotazione schermata Il comando Annotazione schermata serve a fare una fotografia dello schermo su cui si sta lavorando, per memorizzarlo in automatico in un apposita cartella della galleria (La cartella

Dettagli

L INTERFACCIA GRAFICA DI EXCEL

L INTERFACCIA GRAFICA DI EXCEL Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

(b) - Creazione del layout delle pagine nella vista Layout

(b) - Creazione del layout delle pagine nella vista Layout (b) - Creazione del layout delle pagine nella vista Layout La vista Layout di Dreamweaver semplifica l utilizzo delle tabelle per il layout delle pagine. Nella vista Layout, è possibile progettare le pagine

Dettagli

icartoon manuale d uso

icartoon manuale d uso icartoon manuale d uso icartoon ti consente di creare animazioni anche complesse e di esportarle in modo tale da integrarle con altri filmati, immagini e suoni. Quello che esporti da icartoon è basato

Dettagli

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi Complementi sul C - 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Precedenza e associatività () [] ->. S D! ~ ++ + * & (cast ) sizeof S D * / % S D + - (somma e sottrazione) S D >

Dettagli

GLUI: GLUT-based User Interface

GLUI: GLUT-based User Interface GLUI: GLUT-based User Interface La GLUI è una libreria di oggetti C++ costruita utilizzando le GLUT e mette a disposizione tutta una serie di oggetti per rendere l interfaccia di un programma più user-friendly.

Dettagli

PER SALVARE UN FILE FILE - SALVA CON NOME SCEGLIERE: 1) il nome da dare al file. 2) la posizione in cui salvare: documenti, desktop, penna usb, etc.

PER SALVARE UN FILE FILE - SALVA CON NOME SCEGLIERE: 1) il nome da dare al file. 2) la posizione in cui salvare: documenti, desktop, penna usb, etc. PER SALVARE UN FILE FILE - SALVA CON NOME SCEGLIERE: 1) il nome da dare al file 2) la posizione in cui salvare: documenti, desktop, penna usb, etc. 3) il tipo file: documento word (.docx), word 97-2003

Dettagli

Creazione di database, tabelle e associazioni con Access 2003

Creazione di database, tabelle e associazioni con Access 2003 Creazione di database, tabelle e associazioni con Access 2003 Per definire un nuovo database 1. Dal menu di Start scegliere Tutti i programmi e poi fare clic su Microsoft Access. 2. Nella finestra Riquadro

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

USO DELLA TASTIERA E DEL MOUSE

USO DELLA TASTIERA E DEL MOUSE USO DELLA TASTIERA E DEL MOUSE Tratto da: M. Nanni, M. Savioli, S. Morettini TECNOLOGIE INFORMATICHE - Le Monnier Scuola 1 USO DEL MOUSE AZIONE Clic con il tasto sinistro Clic con il tasto destro Doppio

Dettagli

USO DELLA TASTIERA E DEL MOUSE

USO DELLA TASTIERA E DEL MOUSE USO DELLA TASTIERA E DEL MOUSE Tratto da: M. Nanni, M. Savioli, S. Morettini TECNOLOGIE INFORMATICHE - Le Monnier Scuola 1 AZIONE Clic con il tasto sinistro Clic con il tasto destro Doppio Clic con il

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica Appunti dal laboratorio 1 Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

Gestione della tastiera _Keyevents Stampa del: lunedì 3 febbraio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

Gestione della tastiera _Keyevents Stampa del: lunedì 3 febbraio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Stampa del: lunedì 3 febbraio 2014 04.07 Gestione della tastiera Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Sintesi In questa dispensa si approfondisce il funzionamento del Form e la gestione

Dettagli

Componenti di un computer

Componenti di un computer Componenti di un computer Il computer è formato da diversi componenti hardware che diventano la sua struttura di base. Un componente hardware è definito anche device (periferica), in relazione alla dipendenza

Dettagli

LPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi

LPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi LPR 2005/ 2006 Lezione n.9 Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi JAVA 2D PROGRAMMING Schermo : Matrice rettangolare composta

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

Dettagli

Orcad Capture è un potente ambiente di disegno elettronico. Esploriamo alcune delle

Orcad Capture è un potente ambiente di disegno elettronico. Esploriamo alcune delle Orcad Capture è un potente ambiente di disegno elettronico. Esploriamo alcune delle caratteristiche di Capture. Quando facciamo partire Capture appare la videata della sessione di lavoro. Da questa sessione

Dettagli

Capitolo 18 - Progetto DWG Creazione del layout di stampa

Capitolo 18 - Progetto DWG Creazione del layout di stampa Capitolo 18 - Progetto DWG Creazione del layout di stampa Avviate MasterChef dall icona presente sul vostro Desktop. Nota: Se state utilizzando una versione dimostrativa, una volta caricato il programma,

Dettagli

Abstact Data Type. Abstact Data Type. Pubblico e privato. Struttura di un ADT

Abstact Data Type. Abstact Data Type. Pubblico e privato. Struttura di un ADT Abstact Data Type 2 Abstact Data Type Ver. 2.4 ADT, definisce un concetto astratto e il suo comportamento Viene utilizzato come una scatola nera (oggetto) di cui è visibile solo che cosa fa e non come

Dettagli

PILE E CODE. Pile (stack):

PILE E CODE. Pile (stack): PILE E CODE Sono tipi di dato che consentono di rappresentare sequenze di elementi in cui gli inserimenti e le cancellazioni sono eseguiti con particolari modalita` (politiche o discipline). Pile (stack):

Dettagli

Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica

Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica Corso di laurea magistrale in Ingegneria Elettronica Ing. Simone Brienza E-mail: simone.brienza@for.unipi.it Pervasive Computing & Networking Lab () http://www.perlab.it Dipartimento di Ingegneria dell

Dettagli

Introduzione a Processing. Roberto Ranon

Introduzione a Processing. Roberto Ranon Introduzione a Processing Roberto Ranon www.dimi.uniud.it/ranon/processing.html 1 Processing è, insieme, un ambiente e linguaggio di programmazione per creare prodotti multimediali interattivi open source

Dettagli

Programmazione J2ME. Lezione 3. La Grafica 2D. Di Blasi Gianpiero - D.M.I. - Università di Catania

Programmazione J2ME. Lezione 3. La Grafica 2D. Di Blasi Gianpiero - D.M.I. - Università di Catania Di Blasi Gianpiero - D.M.I. - Università di Catania Programmazione J2ME Lezione 3 La Grafica 2D Cosa impareremo oggi? L'API grafica di basso livello di J2ME La classe Canvas La classe Graphics Disegno

Dettagli

Programmazione (imperativa)

Programmazione (imperativa) Programmazione (imperativa) Corso di Laurea in Informatica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 12.00-13.00 e 14.00-16.00 Mercoledì 14.00-17.00 Laboratorio: Giovedì 12.00-13.00

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

Istituto. Nome. Data Docente. Original site: Italian site:

Istituto. Nome. Data Docente. Original site:  Italian site: Istituto Nome Data Docente Original site: http://webphysics.davidson.edu/applets/optics/ Italian site: http://ww2.unime.it/weblab/ Studio della costruzione delle immagini con le lenti Questo documento

Dettagli

nome (lista_parametri) Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti

nome (lista_parametri) Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti Università di Roma Tor Vergata L9-1 Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti utilizzare il valore restituito quanti argomenti

Dettagli

Il Manuale di KXSLDbg. Keith Isdale Traduzione del documento: Samuele Kaplun Traduzione del documento: Simone Solinas

Il Manuale di KXSLDbg. Keith Isdale Traduzione del documento: Samuele Kaplun Traduzione del documento: Simone Solinas Keith Isdale Traduzione del documento: Samuele Kaplun Traduzione del documento: Simone Solinas 2 Indice 1 Introduzione 5 1.1 Funzionalità......................................... 5 2 Usare KXSLDbg 6 2.1

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Esempio di Prova Scritta

Esempio di Prova Scritta Esempio di Prova Scritta La prova scritta è composta da alcuni esercizi per un totale di 10 punti (durata:circa 1h15 ). Le tipologie di esercizi possibili comprendono:! sintesi di una funzione ricorsiva/iterativa,

Dettagli

Interfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato

Interfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato Interfacce 1 Interfacce Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato costituito dall intestazione senza il corpo della definizione

Dettagli

1. Riconoscimento. Figura 1 Modulo Home

1. Riconoscimento. Figura 1 Modulo Home 1. Riconoscimento Il modulo di Riconoscimento realizza tanto le funzionalità finalizzate alla segmentazione degli elementi anatomici di interesse, quanto le operazioni di costruzione dei modelli 3D a partire

Dettagli

Creare un ombra suggestiva

Creare un ombra suggestiva Creare un ombra suggestiva Il libro (le pagine) Iniziamo creando un box che abbia la mezzeria del lato lungo sulle coordinate 0,0,0 di 200x150x0,5 cambiando il valore di Width Segs a 10. Applichiamo una

Dettagli

uguale livello gerarchico non vi sono funzioni più importanti di altre main main

uguale livello gerarchico non vi sono funzioni più importanti di altre main main FUNZIONI in C/C++ Un programma C++ è un insieme di funzioni indipendenti e di uguale livello gerarchico (nel senso che non vi sono funzioni più importanti di altre o dotate, in qualche modo, di diritti

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/dev/index.html Oppure dal sito: http://web.tiscali.it/no-redirect-tiscali/adinfo/devcpp4970- gcc295.exe Informatica 1 1 Requisiti

Dettagli

La gestione dei caratteri in C

La gestione dei caratteri in C in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio

Dettagli

Semafori. Semafori classici con i thread POSIX 2

Semafori. Semafori classici con i thread POSIX 2 Semafori classici Semafori I semafori sono primitive, implementate attraverso dei contatori, fornite dal sistema operativo per permettere la sincronizzazione tra processi e/o thread. Per queste primitive

Dettagli

Introduzione Computer Graphics

Introduzione Computer Graphics Knowledge Aided Engineering Manufacturing and Related Technologies Dipartimento di Ingegneria Industriale Università di Parma Introduzione Computer Graphics Cosa e la computer graphics Computer Graphics

Dettagli

Video Scrittura (MS Word)

Video Scrittura (MS Word) Video Scrittura (MS Word) Ripasso/approfondimento: Il Menù Home di Word Rivediamo i principali comandi presenti nel Menu Home di Word A sinistra troviamo le icone dei comandi di: Taglia, Copia e Incolla.

Dettagli

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Per impostazione predefinita, i risultati dei moduli vengono salvati

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

Aggiornamento firmware 2.0 per Digilux 3

Aggiornamento firmware 2.0 per Digilux 3 Aggiornamento firmware 2.0 per Digilux 3 Con la nuova versione firmware 2.0 sono state aggiunte o modificate le seguenti funzioni. Si consiglia di leggere queste istruzioni assieme a quelle della fotocamera.

Dettagli

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. LETTURA/SCRITTURA DI VARIABILI Codice #include

Dettagli

18 - Classi parzialmente definite: Classi Astratte e Interfacce

18 - Classi parzialmente definite: Classi Astratte e Interfacce 18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,

Dettagli

I dispositivi di input/output: la tastiera

I dispositivi di input/output: la tastiera I dispositivi di input/output: la tastiera La tastiera è il principale dispositivo di input nei moderni sistemi di elaborazione Insieme di tasti, connessi ad interruttori I tasti possono essere così raggruppati

Dettagli

IT MANUALE UTILIZZO. Manuale utilizzo tastiera Art / 3

IT MANUALE UTILIZZO. Manuale utilizzo tastiera Art / 3 IT MANUALE UTILIZZO Manuale utilizzo tastiera Art. 30006002 / 3 DESCRIZIONE TASTIERA La tastiera LCD permette, ad un utente autorizzato, di effettuare manovre di inserimento e disinserimento impianto,

Dettagli

Introduzione a Processing. Prof. Christian Gervasi

Introduzione a Processing. Prof. Christian Gervasi Introduzione a Processing Come costruire un interfaccia grafica e in che modo collegarla con Arduino. 1. LEZIONE 2_1 BUTTON Questo programma mostra come disegnare un pulsante, che si evidenzia quando il

Dettagli

La barra degli strumenti

La barra degli strumenti La barra degli strumenti Di default si aprono a sinistra dello schermo ogni volta che viene acceso il computer. Se si desidera eliminare l'avvio automatico eliminare l'icona della Smart in Avvio automatico

Dettagli

Lezione 17 Esercitazione InDesign

Lezione 17 Esercitazione InDesign Lezione 17 Esercitazione InDesign Pasquale Savino ISTI - CNR Esercitazioni di Adobe InDesign L area di lavoro di InDesign Tour guidato Creazione ed impostazione di un nuovo documento I Frames 2 Area di

Dettagli

Sistema videoconferenza AVAYA XT4300 Regione Toscana Guida rapida all utilizzo

Sistema videoconferenza AVAYA XT4300 Regione Toscana Guida rapida all utilizzo Sistema videoconferenza AVAYA XT4300 Regione Toscana Guida rapida all utilizzo Redazione a cura del settore I.T.S.S.I Versione 1.0 del 05/05/2016 1 1 Introduzione...3 1.1. Accensione del sistema...3 1.2.

Dettagli

LIZMAP Web Client - Guida utente

LIZMAP Web Client - Guida utente LIZMAP Web Client - Guida utente Lizmap è l'applicazione web che consente di visualizzare con un browser (preferibilmente Firefox o Chrome) sia da pc che da smartphone, le mappe di dati geografici create

Dettagli