Progettazione e sviluppo di un gesture engine per la visualizzazione di Mappe digitali in 3D

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progettazione e sviluppo di un gesture engine per la visualizzazione di Mappe digitali in 3D"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI ROMA TOR VERGATA CORSO DI LAUREA IN INFORMATICA Progettazione e sviluppo di un gesture engine per la visualizzazione di Mappe digitali in 3D Tesi di Laurea in Informatica di Relatore: Prof. Gambosi Giorgio Correlatore: Ing. Bei Andrea

2 Sommario 1. INTRODUZIONE MultiTouch: concetti fondamentali Obiettivi e Struttura della tesi CONTESTO L evoluzione del rapporto uomo macchina La tecnologia MultiTouch Il laboratorio MultiTouch di 4it Tecnologia MultiTouch Hardware MultiTouch Software MultiTouch Applicativo OSC (TouchLib) Framework TUIO ARCHITETTURA GENERALE GESTURE CONTROL SYSTEM Concetti fondamentali Le gesture per la navigazione in mappe 3D La gesture rotate La gesture tilt La gesture zoom e unzoom Architettura applicativa Gesture ingester Gesture recognizer Il gesture modeler, algoritmo basato sull OCR Algoritmo immediate recognizer Principali differenze e domini di utilizzo

3 5. GOOGLE TOUCH: PROTOTIPO DI NAVIGAZIONE 3D IN AMBIENTE GOOGLE EARTH Google earth Tecnologia COM e google Api Architettura applicativa L integrazione con google earth Utilizzo delle google Api L integrazione con il framework TUIO e l applicativo OSC Il TUIO Listener e il TUIO Client, il pattern Observer Il mappamondo digitale in 3D Il movimento del globo (l emulazione mouse) La tecnologia JNI (Java native interface) La DLL(Dynamic-link library) Mouse VIDEO APPLICATIVO GLOSSARIO BIBLIOGRAFIA

4 1. Introduzione 1.1. MultiTouch: concetti fondamentali E una tecnologia a schermo tattile che rappresenta una evoluzione di quella touch screen. Si differenzia da essa per il fatto che è sensibile al tocco in più punti diversi della superficie contemporaneamente. La tecnologia MultiTouch è formata da due parti, la parte hardware e la parte software. La parte hardware è formata da uno schermo MultiTouch che riconosce simultaneamente più blob detected, ovvero più punti intercettati dallo schermo MultiTouch tramite il tocco di una mano, mentre la parte software ha il compito di interpretare e manipolare ciascun blob detected intercettato dall hardware. Il MultiTouch inoltre è in grado di supportare più di un utente alla volta sulla stessa superficie simultaneamente, rendendo l interazione uomo-macchina molto più facile e intuitiva di quella che potrebbe offrire un puntatore ad un singolo cursore come il mouse. La tecnologia multitouch si differenzia in due grandi tecnologie, quella basata sulla videocamera e quella basata sulle reti resistive. La tecnologia basata sulle reti resistive è molto efficiente, ma attualmente ha dei costi molto elevati per essere commercializzata, pertanto viene maggiormente utilizzata per schermi di dimensioni molto piccole e generalmente per applicazioni single-touch o al massimo bi-touch (palmari,navigatori,totem, ecc.). Mentre la tecnologia basata sulla telecamera è di difficile implementazione, ma ha sicuramente maggior sbocchi commerciali avendo costi nettamente minori della tecnologia a reti resistive (non a caso surface, la scrivania multitouch di microsoft, prossima ad uscire sul mercato si incentrerà proprio su tale tecnologia). Per dialogare in maniera facile e intuitiva con l utente le tecnologie multitouch utilizzano il concetto di gesture, si tratta di particolari e intuitivi movimenti delle dita per compiere delle funzioni applicative, eliminando le interfacce grafiche (bottoni, scroll bar, menù, ecc.) nel contesto di una applicazione Obiettivi e Struttura della tesi L obiettivo di questa tesi è quello di realizzare un applicazione MultiTouch che offra all utente la possibilità di navigare all interno di mappe digitali in 3D in maniera facile e intuitiva, utilizzando solo il tocco delle mani sullo schermo. La tesi è composta da due parti principali: 1. La realizzazione di un Gesture Engine che comprende la realizzazione e il riconoscimento di una gesture, ovvero di particolari movimenti delle dita sul dispositivo, per applicarla e associarla all esecuzione di funzioni applicative di navigazione in mappe 3D. 2. la realizzazione di un prototipo per la navigazione in mappe 3D su google earth mediante MultiTouch, tramite l utilizzo e l integrazione delle google API e i driver del Mouse di sistema. 4

5 2. Contesto 2.1. L evoluzione del rapporto uomo macchina Il sempre maggior uso di applicazioni informatiche nelle nostre case, uffici, auto, luoghi di commercio e turismo, implica la necessità di una progettazione sia strutturale sia di usabilità che sappia tenere conto dei vari possibili contesti di utilizzo, degli obiettivi degli utenti e delle nuove tecnologie di interazione. L'informatica perciò, diventa sempre più una disciplina in cui l interattività e ed in generale la comunicazione con gli utenti si pongono come elementi cruciali della concezione e progettazione delle soluzioni. tecniche. L interazione uomo macchina è diventata in poco tempo una delle principali materie per la progettazione e lo sviluppo delle applicazioni informatiche, mutuando e facendo propri i risultati di altre discipline come la psicologia, l ergonomia e il design che aiutano a capire e ad intraprendere la comunicazione con l utente. La comunicazione uomo-macchina tende ad essere simile, se non uguale alla comunicazione tra esseri umani e conduce all affermazione del paradigma dell'interazione naturale. La tecnologia MultiTouch è l espressione massima di questi concetti, introduce infatti, in un contesto di information technology, le caratteristiche di spontaneità, immediatezza e naturalezza. Il suo successo commerciale e sociale è dovuto anche all inserimento di strumenti di comune utilizzo come gli sportelli bancomat, i totem (ticket service, navigazione internet, ecc) e i palmari (Apple iphone e Windows mobile). Una parentesi particolare va aperta per l iphone della Apple, infatti questo strumento, a differenza degli sportelli bancomat e dei totem che sono strumenti mono touch, ha portato il concetto di gesture nella nostra società, rendendo per la prima volta la telefonia cellulare uno strumento multitouch, grazie a questo è diventato uno se non il maggior fenomeno commerciale degli ultimi anni (vendute in un giorno più di unità) La tecnologia MultiTouch La sua storia comincia agli inizi degli anni 80, con prototipi di tavolette MultiTouch all'università di Toronto e schermi MultiTouch nei laboratori della Bell Labs. Più tardi alla fine degli anni 90, l'università del Delaware sviluppa un sofisticato sistema di riconoscimento gesti a due mani. Questo sistema fu la base per igesture mouse pad e per le tastiere TouchStream commercializzate da Fingerworks nel La tastiera TouchStream fu notevole per la sua unica ergonomia: il puntatore e il trascinamento veniva creato da due o più dita sopra le lettere stampate della tastiera, eliminando così la funzionalità del mouse stesso, ma implementando essa nella tastiera stessa. Nel 2005 Fingerworks fallì, ad opera di una importante azienda sempre attenta al mondo tecnologico, la Apple Inc., la quale assunse i due ingegneri della ormai ex-fingerworks, per realizzare diversi prototipi su base MultiTouch. Il primo display ad essere commercializzato con tecnologia MultiTouch fu Lemur Input device, un controller multimediale professionale creato dalla compagnia francese JazzMutant nel Nel luglio 5

6 2006, Apple Inc. registra la parola MultiTouch tra i suoi brevetti con l'avvento del loro primo dispositivo MultiTouch, l'iphone, invenzione dell'anno Già nell'annata la Apple Inc. con a capo John Sculley, all'epoca CEO Apple, prevedeva un futuro con questa tecnologia, immaginavano computer molto trasportabili, comunicazione wireless, un grande network di documenti ipertestuali, interfacce sensibili al tocco e videochat. Essa incorporò tutta questa fantascienza in due concept chiamati Knowledge Navigator e l'altro Future Shock dove si poteva sognare sulle future interfacce tra uomo e macchina. [1] Attualmente ci sono tre grandi aziende leader del mercato: Apple Inc, Ntrig e Microsoft. La Apple con l uscita dell iphone ha commercializzato il primo prodotto multi-touch della storia, registrando il brevetto relativo al multitouch. La Microsoft con la prossima uscita di surface (una vera e propria scrivania multimediale), si sta per inserire nel mercato, il prodotto utilizzerà la tecnologia basata sulla telecamera a luce diffusa per il rilevamento dei punti di contatto. La Ntrig, fondata nel 1999 e sostenuta da aziende internazionali di fama e rilievo, è un azienda leader per la distribuzione e la ricerca nel campo della tecnologia multitouch, nonché leader mondiale per la vendita di schermi LCD mono o dual touch, sta lavorando per la prossima uscita del primo schermo multitouch LCD di media dimensione (ca 20 pollici) Il laboratorio MultiTouch di 4it La 4it è un azienda che offre servizi, soluzioni e prodotti IT ad alto valore aggiunto, per la gestione e la valorizzazione delle informazioni e per la realizzazione di sistemi software complessi. 4it sostiene l innovatività delle sue soluzioni con la costante attività di ricerca e sperimentazione del proprio laboratorio su Open Source; Mobile Computing e servizi Location Based in ambiente Microsoft; Content Management e Digital Library; Tecnologia MultiTouch (Sin); Il laboratorio MultiTouch di 4it (Sin) nasce dalla realizzazione di una superficie tattile che consente di interagire con oggetti digitali utilizzando entrambe le mani, potendo toccare la superficie in diversi punti e supportando più di utente alla volta. Sin è il risultato del lavoro di persone che hanno dedicato mesi allo studio delle tecnologie e delle tecniche per rendere il sistema facilmente usabile da tutti gli utenti: giovani o meno giovani. La tecnologia hardware MultiTouch di Sin non è sensibile direttamente al tocco, ma utilizza la tecnologia Laser Light Plane per l'individuazione di ogni punto di contatto. 6

7 (fig. 1 architettura hardware LLP) (fig. 2 campo visivo della telecamera tec. LLP) LLP Parts List - Superficie di contatto (vetro oppure plexiglass) : la parte tattile dell architettura - Laser a raggi infrarossi: posto 1mm sopra la superficie di contatto - Diffusore: trasmette la luce in maniera omogenea - Superficie di proiezione (pellicola opaca): pannello di proiezione sulla superficie di contatto - Video Camera con filtro banda passante IR: acquisizione della luce infrarossa diffusa - Proiettore: proietta sul pannello il video (schermo del pc) [2] 7

8 Sin ha adottato la tecnologia LLP e ne ha valorizzato ulteriormente le caratteristiche. I laser infrarossi sono posizionati appena sopra la superficie di contatto, illuminandone la parte frontale. Quando un dito o qualsiasi altro oggetto interferisce con la luce del laser si crea una riflessione del raggio infrarosso, provocandone una deviazione di 90 gradi (IR Blob), la camera posta sottostante la superficie tattile cattura tale evento e ne rileva la posizione. Il filtro a banda passante IR assicura alla telecamera di intercettare solo gli IR Blob, assorbendo tutte le altre lunghezze d onda e quindi eliminando qualsiasi rumore che potrebbe interferire la loro corretta localizzazione. La superficie tattile ovviamente deve anche essere utilizzata come schermo per il sistema, per questo Sin utilizza un proiettore e una pellicola opaca che, applicata direttamente sulla superficie, garantisce la visibilità su di essa. Il software MultiTouch di Sin è in grado di riconoscere la posizione, la distanza, la velocità ed accelerazione di un singolo tocco oppure di ogni punto di contatto Tecnologia MultiTouch Hardware MultiTouch L Hardware MultiTouch si divide in due tecnologie principali Sensibile direttamente al tocco (touch screen) Basata sulla video camera (LLP, FTIR, DI) o LLP (Laser Line Plane): quella utilizzata da Sin o FTIR (Frustrated Total Internal Reflection) o DI (Diffused Illumination) Gli schermi sensibili direttamente al tocco si basano su una rete resistiva oppure capacitiva posta sulla superficie di contatto, per cui ciascuna rete rileva la presenza di un singolo tocco dello schermo. Utilizzando una architettura a layer, ovvero soprapponendo più reti sulla superficie di contatto si possono rilevare più punti di contatto sullo schermo contemporaneamente. La cardinalità dei layer quindi è direttamente proporzionale al numero di tocchi rilevati sullo schermo. Attualmente gli elevati costi produttivi di questa tecnologia permettono di avere sul mercato solamente schermi mono o dual touch (vedi palmari, navigatori auto, sportelli bancomat, televisori, display pc, ecc..). La tecnologia basata sulla video camera, al contrario di quella sensibile direttamente al tocco, viene utilizzata quando si ha la necessità di avere cardinalità (1-n) di blob detected e le dimensioni dello schermo superano i pollici. La FTIR (Frustrated Total Internal Reflection) si basa sul concetto che la luce infrarossa viene riflessa all interno della superficie di contatto, che deve essere necessariamente plexiglass (oppure policarbonato) 8

9 perché è più trasparente del vetro al punto che possiede caratteristiche di comportamento simili alla fibra ottica per qualità di trasparenza. (fig. 3 architettura harware FTIR) (fig. 4 campo visivo della telecamera tec.ftir) Il problema fondamentale di questa tecnica consiste nel fatto che i laser infrarossi devono essere posizionati per tutto il perimetro della superficie di contatto per garantire la total reflection in tutte le situazioni. [2] La terza tecnologia, Diffused Illumination può essere utilizzata sia con illuminazione frontale e sia con retro illuminazione. Con la retro illuminazione (fig. 6, fig. 7) la luce infrarossa viene diffusa al di sotto della superficie tattile, una percentuale di essa si riflette nella direzione della telecamera, mentre il restante si propaga al di la della superficie. 9

10 (fig. 5 architettura hardware,rear DI) Quando si tocca la superficie tattile una percentuale maggiore di luce infrarossa viene riflessa nella direzione della telecamera. L illuminazione frontale al contrario si basa sul principio che nell illuminazione ambientale esiste una percentuale di luce infrarossa, quindi la luce diffusa è proprio quella ambientale. (fig. 6 campo visivo della telecamera rear DI) (fig. 7 campo visivo della telecamera front DI) Quando un dito tocca la superficie tattile si crea un ombra in tale posizione (fig. 7), perchè non è più percepibile la luce infrarossa presente nell ambiente nel punto toccato dal dito. [2] 10

11 Software MultiTouch La tecnologia multitouch necessità di tre layer per il suo corretto funzionamento: la TouchLib, il framework TUIO l applicativo finale. Il livello più basso è l applicativo OSC (la TouchLib), ha la funzionalità di interagire direttamente con i driver di sistema. Lo strato superiore è il framework TUIO, che definisce un protocollo di comunicazione, facendo da interprete tra la TouchLib e l applicativo finale Applicativo OSC (TouchLib) La TouchLib è una libreria per creare superfici di interazione multitouch. L applicativo è in grado di tenere traccia di tutti gli eventi che si scatenano sulla superficie di contatto, dovuto al cambiamento di intensità di luce infrarossa in un determinato punto e in un determinato istante. Eventi scatenati sulla superficie di contatto come finger down, finger moved, finger released vengono catturati dalla touchlib, utilizzando la OpenGL digital library, e mandati al nostro applicativo per essere interpretati e manipolati. Quando si lancia l applicazione viene istanziata una DatagramSocket, ovvero una connessione UDP sulla porta 3333 per la spedizione degli eventi multitouch nel protocollo Tuio. Il nostro applicativo rimane in ascolto sulla porta 3333, riceve e interpreta tali messaggi. E possibile calibrare la touchlib per la sensibilità di una specifica telecamera, per far ciò abbiamo a disposizione il config app e il config.xml, l applicativo config è l interfaccia grafica di ciò che è scritto nel file di configurazione xml. [3] Esempio di settaggi utilizzati da Sin: 11

12 (fig. 8 es. settaggi tilizzati da Sin) Background remover: è possibile vedere in figura(finestre dsvlcapture0 e background3) come si può agire sul rumore del background, per dare maggiore definizione alle dita della mano. Rectify è il livello di sensibilità dell applicativo, cattura solo i punti di luminosità maggiori di un certo livello. Nel file di configurazione xml: <?xml version="1.0"?> <blobconfig distancethreshold="250" mindimension="2" maxdimension="250" ghostframes="0" mindisplacementthreshold=" " /> <bbox ulx=" " uly=" " lrx=" " lry=" " /> <!-- definisce il perimetro sensibile della parte sensibile agli eventi multitouch, in base alla risoluzione della telecamera --> <screen> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> 12

13 <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> <point X=" " Y=" " /> </screen> <!--applicazione dei filtri --> <filtergraph> <!-- visualizza quello che intercetta la camera senza l applicazione dei filtri --> <dsvlcapture label="dsvlcapture0" /> <mono label="mono1" /> <backgroundremove label="background3"> <!--setta il valore di threshold del rumore di back ground --> <threshold value="35" /> </backgroundremove> <rectify label="rectify4"> <!--setta il livello di sensibilità dell applicativo --> <level value="20" /> </rectify> </filtergraph> 13

14 Framework TUIO I messaggi (eventi multitouch) inviati sulla porta 3333 dall applicativo OSC devono essere interpretati e manipolati dal nostro applicativo. Il protocollo TUIO ci permette di dialogare con l OSC, permettendo la comunicazione con la nostra applicazione e gli eventi multitouch di più basso livello. Il protocollo TUIO definisce due grandi classi di messaggi: set messages e alive messages. Set messages è usato per comunicare informazioni riguardo lo stato di un oggetto come la posizione, la velocità, l orientamento, l accelerazione, la distanza. Alive messages indica la serie corrente di oggetti presenti sulla superficie, ogni oggetto è identificato utilizzando una lista di session ID. Per ovviare la possibile perdita di pacchetti da parte del protocollo UDP nessun messaggio esplicito di tipo add oppure remove è incluso nel protocollo Tuio. Infatti gli alive messages vengono inviati in maniera sequenziale, il ricevitore esamina la differenza tra di essi. Formato dei messaggi : /tuio/[profilename] set [sessionid parameterlist] /tuio/[profilename] alive [list of active sessionids] //id e parametri dell oggetto aggiornato //lista id oggetti presenti sulla superficie (sequenziale) Profilo del messaggio set : 2D Interactive Surface /tuio/2dobj set s i x y a X Y A m r /tuio/2dcur set s x y X Y m 3D Interactive Surfaces /tuio/3dobj set s i x y z a X Y Z A B C m r /tuio/3dcur set s x y z X Y Z m s = int32, il session ID dell oggetto aggiornato i = int32 class ID, la classe del marcatore (dita,pen tip,marker, ecc) x, y, z = float32, range 0...1, posizione a, b, c = float32, range 0..2PI, angolo di spostamento X, Y,Z = float32, vettore di movimento (velocità di spostamento e direzione) A, B, C = float32, vettore di rotazione (velocità di rotazione e direzione) m = float32, gesto accelerazione r = float32,rotazione accelerazione P = parametro libero [4] 14

15 3. Architettura generale (fig 9architettura generale) L architettura applicativa generale della tesi è composta dai seguenti componenti principali L applicativo OSC (TouchLib): il livello più basso dell architettura, definisce l interfaccia con i driver di sistema per l acquisizione degli eventi multitouch scatenati sulla superficie di contatto. Tuio: definisce il protocollo di comunicazione tra l applicativo OSC e la logica di business 15

16 Il gesture Ingester: interpreta il protocollo Tuio e gestisce gli eventi che verranno poi utilizzati dal gesture control e dalla logica di business GoogleTouch: la logica di business, interagisce con tutti i componenti fondamentali dell architettura Gesture Recognizer: effettua il riconoscimento di una gesture, la logica di business decide le sue modalità di utilizzo. Gesture: utilizza il gesture modeler per la costruzione delle gesture a run-time. Move: gestisce il mouse di sistema per controllare i movimenti dell applicativo di interfaccia COM: Il server COM definito dall applicativo di interfaccia google earth per essere customizzato mediante l utilizzo delle google api Google earth: l applicativo di interfaccia, ha la funzionalità di interagire con l utente mettendo a disposizione della logica di business un interfaccia adattabile alle esigenze di un architettura multitouch. 16

17 4. Gesture Control System 4.1. Concetti fondamentali I messaggi Tuio devono essere processati e interpretati dal nostro applicativo. Il gesture control sta sempre in ascolto sulla pompa dei messaggi Tuio per capire se l utente sta compiendo un determinato movimento delle dita (sta compiendo una gesture), in caso affermativo esegue l operazione legata alla gesture riconosciuta. Il riconoscimento delle gesture è uno degli aspetti più importanti di un progetto multitouch, infatti non è sempre semplice capire in base ai messaggi Tuio la volontà di un utente. Il gesture control system di norma processa una serie di messaggi Tuio prima di prendere una decisione. I messaggi Tuio vengono mappati in un oggetto cursore e inseriti in un Vettore in base al fingerid del messaggio, tali oggetti successivamente vengono inseriti in una lista chiave-valore, la chiave è il fingerid del messaggio Tuio e il valore è l oggetto cursore con tutte le sue informazioni. Il gesture control system, consultando la lista, possiede per ogni fingerid informazioni su tutto il path effettuato dal cursore Le gesture per la navigazione in mappe 3D La gesture rotate Rotazione su un punto (fig.1 una mano fissa il punto e l altra definisce la rotazione) 17

18 Rotazione sul centro dello schermo (fig.2 rotazione simmetrica delle mani) La gesture tilt Cambia la prospettiva di visualizzazione del globo per un angolo compreso tra 0 e 90 gradi. (fig.3) 18

19 La gesture zoom e unzoom Zoom e unzoom su uno specifico punto (fig.4 spostamento parallelo delle dita) Zoom e unzoom sul centro dello schermo (fig.5 zoom) 19

20 (fig.6 unzoom) 4.3. Architettura applicativa 20

21 Gesture ingester Si occupa di gestire i punti acquisiti dalla touchlib nel protocollo Tuio. I punti vengono utilizzati dal gesture control system per il riconoscimento delle gesture. AcceptMessage: /* *OVERVIEW: acquisizione dei messaggi Tuio param date: la data di acquisizione messaggio param message: il messaggio OSC nel protocollo Tuio * */ public void acceptmessage(date date, OSCMessage message) { Object[] args = message.getarguments(); String command = (String)args[0];//command flag ( set, alive ) /* la destinazione ( /tuio/2dobj, /tuio/2dcur, /tuio/3dobj, * /tuio/3dcur ) */ String address = message.getaddress(); if (address.equals(" /tuio/2dobj")) { if (command.equals("set")) { if ((currentframe<lastframe) && (currentframe>0)) return; //acquisizione delle informazioni long s_id = ((Integer)args[1]).longValue(); int f_id = ((Integer)args[2]).intValue(); float xpos = ((Float)args[3]).floatValue(); float ypos = ((Float)args[4]).floatValue(); float angle = ((Float)args[5]).floatValue(); float xspeed = ((Float)args[6]).floatValue(); float yspeed = ((Float)args[7]).floatValue(); float rspeed = ((Float)args[8]).floatValue(); float maccel = ((Float)args[9]).floatValue(); float raccel = ((Float)args[10]).floatValue(); else { if (objectlist.get(s_id) == null) { //mappa il messaggio in un oggetto cursore TuioObject addobject = new TuioObject(s_id,f_id,xpos,ypos, angle,xspeed,yspeed,rspeed,maccel,raccel); //inserisce il messaggio nella lista objectlist.put(s_id,addobject); /*prendo l oggetto da aggiornare identificato dal *sessionid(fingerid) */ TuioObject updateobject = (TuioObject)objectList.get(s_id); //aggiorno l oggetto cursore della lista 21

22 updateobject.update(xpos,ypos,angle,xspeed,yspeed,rspeed, maccel,raccel); La objectlist tiene traccia di tutti gli oggetti presenti sulla superficie di contatto, e il path completo di ogni fingerid. Path fingerid: /* *OVERVIEW: Costruisce un oggetto cursore param: le informazioni del cursore * */ TuioObject(long s_id,int f_id, float xpos,float ypos,float angle,float xspeed,float yspeed,float rspeed,float maccel,float raccel); this.session_id = s_id; this.f_id = f_id; this.xpos = xpos; this.ypos = ypos; this.angle = angle; this.xspeed = xspeed; this.yspeed = yspeed; this. rspeed = rspeed; this.maccel = maccel; this.raccel = raccel; //path del fingerid al momento della costruzione path = new Vector<TuioPoint>(); path.addelement(new TuioPoint(xpos,ypos)); state = TUIO_ADDED; /* *OVERVIEW: aggiorna il cursore param: le informazioni del cursore * */ update (float xpos,float ypos,float angle,float xspeed,float yspeed,float rspeed,float maccel,float raccel); this.xpos = xpos; this.ypos = ypos; this.angle = angle; this.xspeed = xspeed; this.yspeed = yspeed; this. rspeed = rspeed; this.maccel = maccel; this.raccel = raccel; //aggiorna il path del fingerid path.addelement(new TuioPoint(xpos,ypos)); state = TUIO_UPDATED; 22

23 [5] Gesture recognizer Effettua il riconoscimento di una gesture per associarla all esecuzione di funzioni applicative. Interpreta i punti acquisiti tramite il gesture ingester, basandosi su un algoritmo di riconoscimento. Attualmente ci sono due grandi famiglie di algoritmi per il gesture recognizer: Gesture modeler, basato sull OCR Immediate recognizer. Per Google Touch si è optato per l utilizzo del secondo algoritmo, a riconoscimento immediato, in quanto la navigazione 3D richiede caratteristiche come velocità di risposta e fluidità di interattività con il sistema, caratteristiche tipiche dell algoritmo a riconoscimento immediato Il gesture modeler, algoritmo basato sull OCR L algoritmo utilizza vettori ordinati di posizione per il controllo delle gesture. Il gesture ingester ci da le informazioni riguardanti i path di entrambe le mani sulla superficie di contatto, in particolare abbiamo sempre la possibilità di distinguere la mano destra dalla mano sinistra. I cursori della mano destra avranno sempre la variabile x maggiore di quelli della mano sinistra, quando si tocca la superficie di contatto sullo schermo l algoritmo crea a partire da questi due punti iniziali la figura geometrica che definisce la determinata gesture, formalizzandola tramite due vettori (mano sx e dx) ordinati di posizioni. Se l utente si muove sulla superficie di contatto l applicativo OSC manda dei messaggi di update che vengono intercettati dal gesture ingester, dopo un certo numero si update i punti acquisiti vengono confrontati con i vettori ordinati di posizione. Se i punti acquisiti dal gesture ingester si sovrappongono con un certo valore di threshold ai vettori ordinati di posizioni viene eseguita la gesture. La decisione viene presa tramite una media matematica data dall interpolazione dei punti. [6] Implementazione gesture recognizer per l algoritmo basato sull OCR : /* * OVERVIEW: gesture recognizer per l algortimo basato sull OCR v: vettore di punti acquisiti dal gesture ingester hand: vettore di punti creato dal gesture modeler la media dei punti interpolati */ private double check(vector v,arraylist hand){ int start=0; int perc = 0; while(start<v.size()){ 23

24 Tesi di laurea di int x = Utils.ProportionX(((TuioPoint) v.elementat(start)).getx()); int y = Utils.ProportionY(((TuioPoint) v.elementat(start)).gety()); int dx = (int)((tuiopoint) hand.get(start)).getx(); int dy = (int)((tuiopoint) hand.get(start)).gety(); if(getdistance(x,y,dx,dy)<threshold){ perc+=100/v.size(); start++; return perc; /* * OVERVIEW: calcola la distanza tra due punti x: la x del primo punto y: la y del primo punto dx: la x del secondo punto dy: la y del secondo punto la distanza tra i due punti */ private int getdistance(int x,int y,int dx, int dy){ float deltax = x-dx; float deltay = y-dy; return (int)math.sqrt((deltax*deltax)+(deltay*deltay)); La modellazione delle gesture Zoom e UnZoom si basa sull equazione della retta, la distinzione tra le due gesture è definita dalla posizione dei punti all interno dei vettori ordinati. /* * OVERVIEW: classe che gestisce l'equazione della retta dati due * punti point1: primo punto di interpolazione della retta point2: secondo punto di interpolazione della retta * */ public Equation(TuioPoint point1, TuioPoint point2){ //coefficiente angolare float coeff = ((point2.gety()-point1.gety())/ (point2.getx()-point1.getx())); //equazione della retta, y = x + q float x = (coeff*point2.getx()); float y = point2.gety(); float q = -x + y; La modellazione della gesture rotate analogamente si basa sull equazione del cerchio. 24

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Didit Interactive Solution

Didit Interactive Solution Didit Interactive Solution Didit Interactive Solution Moonway.it Versione Italiana Data: Settembre 2008 Contenuti Introduzione... 3 Componenti Windows Richiesti... 3 Guidelines Generali di Configurazione...

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano Lezione1 Informatica Grafica Cos è la computer grafica Lezione del 10 Marzo 2010 Grafica OpenGL vs Direct Dipartimento di Ingegneria Meccanica Politecnico di Milano 1.1 Tubo a Raggi Catodici Cathode Ray

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Un Sistema Location-based per la mappatura degli Access Point

Un Sistema Location-based per la mappatura degli Access Point 1 Un Sistema Location-based per la mappatura degli Access Point Pasquale Cautela pasquale.cautela@studio.unibo.it Marco Peca marco.peca@studio.unibo.it Rosario Salpietro rosario.salpietro@studio.unibo.it

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

A cura dell insegnante Elena Serventi Funzione strumentale TIC (Tecnologie dell Informazione e della Comunicazione) del circolo didattico di Pavone

A cura dell insegnante Elena Serventi Funzione strumentale TIC (Tecnologie dell Informazione e della Comunicazione) del circolo didattico di Pavone A cura dell insegnante Elena Serventi Funzione strumentale TIC (Tecnologie dell Informazione e della Comunicazione) del circolo didattico di Pavone Canavese Febbraio 2011 Cos'è una LIM? LIM è l'acronimo

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

20 Giugno 2013 Gianni Rosa Gallina giannishub@hotmail.com @giannirg http://giannishub.cloudapp.net/it/

20 Giugno 2013 Gianni Rosa Gallina giannishub@hotmail.com @giannirg http://giannishub.cloudapp.net/it/ 20 Giugno 2013 Microsoft Kinect introduzione Gianni Rosa Gallina giannishub@hotmail.com Twitter: @giannirg Blog: http://giannishub.cloudapp.net/it/ Agenda Cos è Microsoft Kinect? Cosa si può fare con Kinect?

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3 Introduzione...xv A chi si rivolge questo libro...xv Gli argomenti trattati...xv Com è organizzato il libro...xvi Cosa occorre per utilizzare il libro...xvii Convenzioni adottate...xvii Il codice sorgente...xviii

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Josef Vitanostra INFORMATICA PARTHENOPE

Josef Vitanostra INFORMATICA PARTHENOPE Josef Vitanostra INFORMATICA PARTHENOPE Introduzione Java Native Interface o brevemente JNI è un framework di programmazione che ha lo scopo di permettere ad applicazioni Java di interfacciarsi con funzioni

Dettagli

Podium View TM 2.0 Software di cattura delle immagini Visual Presenter Manuale d uso - Italiano

Podium View TM 2.0 Software di cattura delle immagini Visual Presenter Manuale d uso - Italiano Podium View TM 2.0 Software di cattura delle immagini Visual Presenter Manuale d uso - Italiano Indice 1. Introduzione... 2 2. Requisiti di sistema... 2 3. Installa Podium View... 3 4. Connessione all

Dettagli

Guida rapida all installazione della LIM

Guida rapida all installazione della LIM Superficie in acciaio - LIWB78IR5AC / LIWB78IR5AC-S Superficie in melamina - LIWB78IR / LIWB78IR-S L avagna I nterattiva M ultimediale Ligra srl Via Artigiani 29/31-29020 Vigolzone (PC) Italy Tel.: +39

Dettagli

Mobile GIS in Eni e Future Architetture di Cloud Computing a Supporto del Business

Mobile GIS in Eni e Future Architetture di Cloud Computing a Supporto del Business Mobile GIS in Eni e Future Architetture di Cloud Computing a Supporto del Business Carlo Michele Garbujo Eni e&p Abstract Oltre un anno fa eni e&p ha rilasciato una web application, denominata infoshop

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Visualizzatore Posizionatore e Applicazioni

Visualizzatore Posizionatore e Applicazioni PAG. 1 PAG. 2 VISUALIZZATORE POSIZIONATORE e Applicazioni Aprile 2009 Visualizzatore Posizionatore e Applicazioni VISUALIZZATORE di QUOTE - TELEMACO Il VisualizzatoreTelemaco è costituito da una unità

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Esercitazione sui Design Pattern

Esercitazione sui Design Pattern Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore

Dettagli

MODULO 01. Come è fatto un computer

MODULO 01. Come è fatto un computer MODULO 01 Come è fatto un computer MODULO 01 Unità didattica 03 Conosciamo i tipi di computer e le periferiche In questa lezione impareremo: a conoscere le periferiche di input e di output, cioè gli strumenti

Dettagli

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy.

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy. Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy. 10 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

Dettagli

3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software

3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software Pagina 29 di 47 3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software Come abbiamo già detto in precedenza, l informatica si divide in due grandi mondi : l hardware

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

WebGL. Lezione 18: 15 Maggio 2014

WebGL. Lezione 18: 15 Maggio 2014 WebGL Lezione 18: 15 Maggio 2014 Cronologia: Grafica 3D nell Hardware In principio (giurassico informatico) postazioni specializzate La Silicon Graphics si afferma come produttrice di workstation grafiche

Dettagli

Il sito Internet: lo strumento più flessibile per far conoscere la tua azienda e fidelizzare i tuoi clienti.

Il sito Internet: lo strumento più flessibile per far conoscere la tua azienda e fidelizzare i tuoi clienti. Il sito Internet: lo strumento più flessibile per far conoscere la tua azienda e fidelizzare i tuoi clienti. Orientarsi e muoversi al meglio nel mercato è sempre più difficile: la concorrenza, è sempre

Dettagli

Librerie. Laboratorio di Informatica Antonio Monteleone 28

Librerie. Laboratorio di Informatica Antonio Monteleone 28 Librerie Una libreria è una collezione di funzioni (classi, variabili) usata per sviluppare applicazioni. Le funzioni (classi, variabili) contenute in una libreria si dicono da questa esportate. L'uso

Dettagli

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

SardegnaFotoAeree. La Sardegna vista dall alto MANUALE PER L USO DELL APPLICAZIONE

SardegnaFotoAeree. La Sardegna vista dall alto MANUALE PER L USO DELL APPLICAZIONE SardegnaFotoAeree La Sardegna vista dall alto MANUALE PER L USO DELL APPLICAZIONE REGIONE AUTONOMA DELLA SARDEGNA [2] Indice 1. Introduzione 2. Navigatore 5 7 8 9 2.1. Strumenti di navigazione 2.2. Ricerca

Dettagli

Tutorial 3DRoom. 3DRoom

Tutorial 3DRoom. 3DRoom Il presente paragrafo tratta il rilievo di interni ed esterni eseguito con. L utilizzo del software è molto semplice ed immediato. Dopo aver fatto uno schizzo del vano si passa all inserimento delle diagonali

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

A SCUOLA CON LA LIM 1

A SCUOLA CON LA LIM 1 A SCUOLA CON LA LIM 1 A cura dell'insegnante LUCIA STIRPE Istituto Comprensivo San Cesareo mag 13 19:01 1 Cos'è una LIM? LIM è l'acronimo di Lavagna Interattiva Multimediale. E' un dispositivo elettronico

Dettagli

MODULO 01. MODULO 01 Unità didattica 3. In questa lezione impareremo: Come è fatto un computer. Periferiche e tipi di computer

MODULO 01. MODULO 01 Unità didattica 3. In questa lezione impareremo: Come è fatto un computer. Periferiche e tipi di computer MODULO 01 Come è fatto un computer MODULO 01 Unità didattica 3 Periferiche e tipi di computer In questa lezione impareremo: a conoscere le periferiche di input e di output, cioè gli strumenti che permettono

Dettagli

www.spc-international.com

www.spc-international.com User's Guide Guida all'uso Pixe www.spc-international.com Indice 1.0 Introduzione 2.0 Procedimento di avvio e requisiti di sistema 3.0 Pixe Parte Laboratorio 3.1 Iniziare il lavoro 3.2 Creare un nuovo

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

Procedura aperta per la fornitura biennale di ausili (comunicatori a puntatore oculare) per persone affette da sclerosi laterale amiotrofica (SLA).

Procedura aperta per la fornitura biennale di ausili (comunicatori a puntatore oculare) per persone affette da sclerosi laterale amiotrofica (SLA). LOTTO 1: COMUNICATORI VOCALI A CONTROLLO OCULARE, PUNTAMENTO BINOCULARE CON MODALITA DI DETENZIONE DELLA PUPILLA DARK E BRIGHT PUPIL CODICE CND Y214299 Y210915 Z12120111 DESCRIZIONE Ausili per comunicazione

Dettagli

Ausili informatici per disabilità motorie

Ausili informatici per disabilità motorie Ausili informatici per disabilità motorie SOMMARIO 1. INTRODUZIONE 2. AUSILI INFORMATICI COMUNI 3. SOFTWARE DI SUPPORTO AGLI AUSILI 4.AUSILI INFORMATICI AD ALTA TECNOLOGIA Studio di Consulenza Stefano

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

DiFarm evolution. Convegno Rimini, 16-17 Novembre 2006

DiFarm evolution. Convegno Rimini, 16-17 Novembre 2006 DiFarm evolution Convegno Rimini, 16-17 Novembre 2006 E un argomento che interessa molti, tecnici e responsabili edp, ma anche direttori e imprenditori: I primi nell ottica di sviluppare un prodotto che

Dettagli

Grafica 3D Interattiva

Grafica 3D Interattiva Informatica Grafica ][ Marco Gribaudo marcog@di.unito.it Grafica 3D Interattiva sono una libreria di funzioni a basso livello per facilitare la scrittura di videogiochi e di applicazioni multimediali.

Dettagli

Presentation Draw. Guida dell utilizzatore

Presentation Draw. Guida dell utilizzatore Presentation Draw I Guida dell utilizzatore Conservare l intera documentazione dell utente a portata di mano per riferimenti futuri. Il termine puntatore in questo manuale si riferisce al puntatore interattivo

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

The Free Interactive Whiteboard Software

The Free Interactive Whiteboard Software The Free Interactive Whiteboard Software Per eseguire il Download del Software Digita nella barra di Google l indirizzo Una finestra di dialogo ti chiederà di inserire i tuoi dati personali Scegli il sistema

Dettagli

Guida rapida - versione Web e Tablet

Guida rapida - versione Web e Tablet Guida rapida - versione Web e Tablet Cos è GeoGebra? Un pacchetto completo di software di matematica dinamica Dedicato all apprendimento e all insegnamento a qualsiasi livello scolastico Gestisce interattivamente

Dettagli

19. Introduzione al multi-threading

19. Introduzione al multi-threading 19. Introduzione al multi-threading Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II I thread I thread, o processi

Dettagli

istruzioni per l uso 1. Che cos è Google Earth

istruzioni per l uso 1. Che cos è Google Earth istruzioni per l uso 1. Che cos è Google Earth Google Earth è un software che permette una navigazione virtuale della Terra. Il programma deve essere installato sul proprio computer e, per poterlo utilizzare

Dettagli

Java Native Interface Appunti

Java Native Interface Appunti Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per

Dettagli

'LVSHQVD :LQGRZV GL0&ULVWLQD&LSULDQL

'LVSHQVD :LQGRZV GL0&ULVWLQD&LSULDQL 'LVSHQVD 'L :LQGRZV GL0&ULVWLQD&LSULDQL ',63(16$',:,1'2:6,QWURGX]LRQH Windows 95/98 è un sistema operativo con interfaccia grafica GUI (Graphics User Interface), a 32 bit, multitasking preempitive. Sistema

Dettagli

Istruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System

Istruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System Istruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System 1. Introduzione KML file... 1 2. Creazione e condivisione dei file KML usando Google Earth... 1

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Il File System È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Le operazioni supportate da un file system sono: eliminazione di dati modifica

Dettagli

GPS MANAGER Manuale Utente

GPS MANAGER Manuale Utente GPS MANAGER Manuale Utente Introduzione GPS Manager è il software AIM che mette la tecnologia GPS al servizio del pilota. Esso permette infatti di entrare in pista e cominciare a registrare i tempi sul

Dettagli

FACILE FARE BUSINESS

FACILE FARE BUSINESS BUSINESS BOARD - Lavagna Interattiva FACILE FARE BUSINESS Copiright - WeMake Service Srl 1 LAVAGNA INTERATTIVA - Introduzione La lavagna interattiva è un prodotto utile per le presentazioni o la formazione.

Dettagli

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web Mattia Gentilini Relatore: Renzo Davoli Laurea Specialistica in Informatica I Sessione A.A. 2005/2006

Dettagli

Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni

Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Le basi della grafica in Java Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Elaborazione classica o imperativa L elaborazione è concentrata nel momento centrale, durante

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

AutoCAD 3D. Lavorare nello spazio 3D

AutoCAD 3D. Lavorare nello spazio 3D AutoCAD 3D Lavorare nello spazio 3D Differenze tra 2D e 3 D La modalità 3D include una direzione in più: la profondità (oltre l altezza e la larghezza) Diversi modi di osservazione Maggiore concentrazione

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

MOTOROLA RHOELEMENTS SVILUPPA UNA APPLICAZIONE CHE FUNZIONI SU DIVERSI DISPOSITIVI E CON DIFFERENTI SISTEMI OPERATIVI.

MOTOROLA RHOELEMENTS SVILUPPA UNA APPLICAZIONE CHE FUNZIONI SU DIVERSI DISPOSITIVI E CON DIFFERENTI SISTEMI OPERATIVI. MOTOROLA RHOELEMENTS SVILUPPA UNA APPLICAZIONE CHE FUNZIONI SU DIVERSI DISPOSITIVI E CON DIFFERENTI SISTEMI OPERATIVI. MOTOROLA RHOELEMENTS BROCHURE COSÌ TANTI DISPOSITIVI MOBILE. VOLETE SVILUPPARE UNA

Dettagli

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie

Dettagli

Linguaggio C Compilazione, linking e preprocessor

Linguaggio C Compilazione, linking e preprocessor FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Compilazione, linking e preprocessor 2001 Pier Luca Montessoro

Dettagli

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi Parte V & Reti Sistema operativo: insieme di programmi che gestiscono l hardware Hardware: CPU Memoria RAM Memoria di massa (Hard Disk) Dispositivi di I/O Il sistema operativo rende disponibile anche il

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Capitolo 26: schemi di installazione

Capitolo 26: schemi di installazione Capitolo 26: schemi di installazione Avviate MasterChef dall icona presente sul vostro Desktop. Nota: Se state utilizzando una versione dimostrativa, una volta caricato il programma, un messaggio vi comunicherà

Dettagli

Lavagna Interattiva Multimediale L.I.M.

Lavagna Interattiva Multimediale L.I.M. Lavagna Interattiva Multimediale L.I.M. La Lavagna Interattiva Multimediale, detta anche L.I.M. o lavagna elettronica, è una superficie interattiva su cui è possibile scrivere, disegnare, allegare immagini,

Dettagli

Anno 2009/2010 Syllabus 5.0

Anno 2009/2010 Syllabus 5.0 Patente Europea di Informatica ECDL Modulo 2 Lezione 3: Pannello di controllo Caratteristiche del sistema Gestione delle stampe Utilità Anno 2009/2010 Syllabus 5.0 Il Pannello di Controllo permette di

Dettagli

Sistema Informativo Alice

Sistema Informativo Alice Sistema Informativo Alice Urbanistica MANUALE UTENTE MODULO PROFESSIONISTI WEB settembre 2007 INDICE 1. INTRODUZIONE...2 1.1. Cos è MPWEB?... 2 1.2. Conoscenze richieste... 2 1.3. Modalità di utilizzo...

Dettagli

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Introduzione ad AutoCAD

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Introduzione ad AutoCAD Corso di INFORMATICA GRAFICA Modulo 2 (CAD) Stefano Cinti Luciani Introduzione ad AutoCAD Autodesk AutoCAD COS È AUTOCAD? Autodesk AutoCAD è un pacchetto software per la costruzione e modifica di disegni

Dettagli

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity.

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. UBIQUITY 5 Introduzione Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 20/01/2015 Disclaimer Le informazioni

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity.

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. UBIQUITY 6 e Server Privato Introduzione Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 21/06/2015 Disclaimer

Dettagli

1. DESCRIZIONE DI CIASCUN COMPONENTE

1. DESCRIZIONE DI CIASCUN COMPONENTE 1. DESCRIZIONE DI CIASCUN COMPONENTE 1.1 Stativo 1. Regolazione della messa a fuoco 2. Vite di bloccaggio 3. Anello di fissaggio 1.2 Microscopio digitale Tasto x fotografare Linea di indicazione dell ingrandimento

Dettagli

PointCloud 7.0 Anno 2011

PointCloud 7.0 Anno 2011 PointCloud 7.0 Anno 2011 Compatibilità con AutoCAD 2007-2012 ed AutoCAD 2007-2012 Supporto del formato nativo delle nuvole di punti di AutoCAD (PCG) e miglioramento delle performance riguardo la velocità

Dettagli

Sviluppare applicazioni per Windows Phone

Sviluppare applicazioni per Windows Phone Sviluppare applicazioni per Windows Phone Daniele Bochicchio - Cristian Civera - Marco De Sanctis - Alessio Leoncini - Marco Leoncini ISBN: 9788820347697 http://books.aspitalia.com/windows-phone/ Contenuti

Dettagli

P.D.M. (Product Document Management) Hierarchycal Tree

P.D.M. (Product Document Management) Hierarchycal Tree DOKMAWEB P.D.M. (Product Document Management) Hierarchycal Tree BBL Technology Srl Via Bruno Buozzi 8 Lissone (MI) Tel 039 2454013 Fax 039 2451959 www.bbl.it www.dokmaweb.it BBL Technology srl (WWW.BBL.IT)

Dettagli

Obiettivo Generare un file.notebook integrato con testo, collegamenti, video, suoni e immagini ed esportarlo in diversi formati: PDF, HTML e JPG.

Obiettivo Generare un file.notebook integrato con testo, collegamenti, video, suoni e immagini ed esportarlo in diversi formati: PDF, HTML e JPG. SMART Board Prerequisiti PC Pentium III - 128Mb di Ram- 110 Mb di spazio su HD - casse acustiche - software Notebook e driver di SMART Board Videoproiettore - LIM Installazione software Smart Board su

Dettagli

Geoportale web gis. Provincia Regionale di Enna

Geoportale web gis. Provincia Regionale di Enna Geoportale web gis Provincia Regionale di Enna Guida alla consultazione del geoportale della Provincia Regionale di Enna Introduzione Cos è il Geoportale: Il Geoportale della Provincia di Enna ha la finalità

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1 Applicazioni P2P

Dettagli

ARGO DOC Argo Software S.r.l. e-mail: info@argosoft.it -

ARGO DOC Argo Software S.r.l. e-mail: info@argosoft.it - 1 ARGO DOC ARGO DOC è un sistema per la gestione documentale in formato elettronico che consente di conservare i propri documenti su un server Web accessibile via internet. Ciò significa che i documenti

Dettagli