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

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

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

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

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

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Sistemi Mobili e Wireless Android Introduzione alla piattaforma Sistemi Mobili e Wireless Android Introduzione alla piattaforma Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Cos'è Android?

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

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

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

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

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

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

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

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

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

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

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it ANDROID Domenico Talia Università della Calabria talia@dimes.unical.it Sistemi Operativi per Mobile! I sistemi operativi per sistemi mobili seguono i principi dei SO classici ma devono gestire risorse

Dettagli

Università degli Studi di Messina MAP Mobile Agent Platform

Università degli Studi di Messina MAP Mobile Agent Platform Università degli Studi di Messina MAP Mobile Agent Platform a cura di MAP Mobile Agent Platform La MAP è la piattaforma per agenti mobili realizzata presso l Istituto di Informatica e Telecomunicazioni

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

La Login in Prestito!!Disponbilità Tesi. Categorie di Progetti di Ingegneria del Software

La Login in Prestito!!Disponbilità Tesi. Categorie di Progetti di Ingegneria del Software Draft versione 1.1 Categorie di Progetti di Ingegneria del Software Tutti i temi Progettuali proposti rientrano in una delle seguenti categorie. 1. Temi sull'elaborazione di Dati Multimediali Temi su Audio,

Dettagli

Corso di formazione CerTIC Tablet

Corso di formazione CerTIC Tablet Redattore prof. Corso di formazione CerTIC Tablet Dodicesima Dispensa Comitato Tecnico Scientifico: Gruppo Operativo di Progetto CerticAcademy Learning Center, patrocinato dall assessorato al lavoro e

Dettagli

WGDESIGNER Manuale Utente

WGDESIGNER Manuale Utente WGDESIGNER Manuale Utente Pagina 1 SOMMARIO 1 Introduzione... 3 1.1 Requisiti hardware e software... 3 2 Configurazione... 3 3 Installazione... 4 3.1 Da Webgate Setup Manager... 4 3.2 Da pacchetto autoestraente...

Dettagli

GLI STRUMENTI DELLA SMART BOARD

GLI STRUMENTI DELLA SMART BOARD GLI STRUMENTI DELLA SMART BOARD La struttura tecnologica è formata da: Lavagna interattiva:può essere di varie misure (da 48 a94 ) e formati (4/3 o 16/9) Proiettore: può essere sia grandangolare (con molti

Dettagli

MANUALE UTENTE. Versione 1.2. Versione a cura di Newcom Data Srl Via Bobbio 14 Torino Tel. 0039-11-3851820

MANUALE UTENTE. Versione 1.2. Versione a cura di Newcom Data Srl Via Bobbio 14 Torino Tel. 0039-11-3851820 MANUALE UTENTE Versione 1.2 INDICE 1. Introduzione 1.1 Contenuto della confezione 1.2 Descrizione dell Hardware 1.3 Contenuto del CD 1.4 Informazioni generali 1.5 Caratteristiche del sistema ospite 2.

Dettagli

Lavagne Interattive Multimediali

Lavagne Interattive Multimediali Lavagne Interattive Multimediali Caratteristiche tecniche delle diverse tipologie Il sistema di tracciamento dell interazione Sulla base della tecnologia usata per realizzare il sistema di tracciamento

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

GeoGebra vers.5 - vista Grafici 3D

GeoGebra vers.5 - vista Grafici 3D GeoGebra vers.5 - vista Grafici 3D Marzo 2015 (manuale on-line, con aggiunte a cura di L. Tomasi) Questo articolo si riferisce a un componente della interfaccia utente di GeoGebra. Viste Menu Vista Algebra

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

Concetti chiave. Corso di Archivistica e gestione documentale. Breve storia di Windows - 1. Definizione di Sistema Operativo

Concetti chiave. Corso di Archivistica e gestione documentale. Breve storia di Windows - 1. Definizione di Sistema Operativo Corso di Archivistica e gestione documentale Prima Parte - Area Informatica Concetti chiave Lezione 3 Windows XP Definizione di Sistema Operativo È un insieme di programmi e di funzioni in grado di gestire

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

DISPOSITIVI DI INPUT

DISPOSITIVI DI INPUT LA TASTIERA (o keyboard) DISPOSITIVI DI INPUT Quando viene premuto un tasto si genera un codice corrispondente alla cifra alfanumerica selezionata che viene inviato alla CPU per essere elaborato. La tastiera

Dettagli

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

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

Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)

Autore: Prof. Agostino Sorbara ITIS M. M. Milano Polistena (RC) In questa lezione introduciamo alcuni strumenti che Java rende disponibili per la creazione di interfacce utente a manipolazione diretta, dette anche WYSISYG (what you see is what you get), con un elevato

Dettagli

TUTTO SULLA TECNOLOGIA TOUCHSCREEN

TUTTO SULLA TECNOLOGIA TOUCHSCREEN TUTTO SULLA TECNOLOGIA TOUCHSCREEN L'iPhone ha fatto toccare con mano tutte le potenzialità della tecnologia touchscreen. Molti altri dispositivi l'adottano rendendone semplice e intuitivo l'uso. Chi usa

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

L avagna I nterattiva M ultimediale

L avagna I nterattiva M ultimediale L avagna I nterattiva M ultimediale LuxiBoard è l unica Lavagna Interattiva Multimediale presente sul mercato che vi permette di scegliere fra due diverse tecnologie - infrarossi ed elettromagnetica -

Dettagli

DISPENSA DI GEOMETRIA

DISPENSA DI GEOMETRIA Il software di geometria dinamica Geogebra GeoGebra è un programma matematico che comprende geometria, algebra e analisi. È sviluppato da Markus Hohenwarter presso la Florida Atlantic University per la

Dettagli

Il software. Il Sistema Operativo

Il software. Il Sistema Operativo Il software Prof. Vincenzo Auletta 1 Il Sistema Operativo Software che gestisce e controlla automaticamente le risorse del computer permettendone il funzionamento. Gestisce il computer senza che l utente

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

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

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

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

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

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

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

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Software Autore: Sergio Gandola Revisione: 2 Data: 07/06/13 Titolo: Documentazione Tecnica Diario File:Documentazione Tecnica.pdf Sito: http://inno-school.netsons.org/

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

Reingegnerizzazione di un Content Management System verso l accessibilità secondo la normativa italiana

Reingegnerizzazione di un Content Management System verso l accessibilità secondo la normativa italiana Università degli Studi di Bologna Sede di Cesena FACOLTÀ À DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Scienze dell Informazione Reingegnerizzazione di un Content Management System verso

Dettagli

Cos è GIOELCOTT. Modalità d uso del software

Cos è GIOELCOTT. Modalità d uso del software Giornale Elettronico dei Lavori e Gestione delle Planimetrie con l uso di Coni Ottici GIOELAV + GIOELCOTT (Versione 2.0.0) Cos è GIOELAV? E una piattaforma software, residente in cloud, per la registrazione

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

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

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

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

Facoltà di Ingegneria

Facoltà di Ingegneria Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Laurea in Ingegneria Informatica Creazione e animazione interattiva di grafica tridimensionale Relatore Ing. Francesco Martinelli Candidato

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

tablets PC convertibili tablets PC Slate

tablets PC convertibili tablets PC Slate I TABLETS Sono la logica evoluzione di un computer che da ingombrante strumento di lavoro è diventato personal poi portatile e ora Tablet (tavolette) I tablets PC convertibili sono, di fatto, normali PC

Dettagli

fabbricadigitale Interactive Digital Signage Solutions fabbricadigitale srl confidenziale tutti i diritti riservati Slide 1 of 36

fabbricadigitale Interactive Digital Signage Solutions fabbricadigitale srl confidenziale tutti i diritti riservati Slide 1 of 36 fabbricadigitale srl confidenziale tutti i diritti riservati Slide 1 of 36 La Piattafora di Signage Company website /webtv InStore Signage/Radio Virtual Branches BroadCast TV Totem Interattivi Personal

Dettagli

[AD.AGIO] ANDROID SDK

[AD.AGIO] ANDROID SDK [AD.AGIO] ANDROID SDK 2013.06 Pag. 1 1. PREMESSA Il presente documento riporta informazioni riservate il cui utilizzo è confidenziale e permesso esclusivamente nell'ambito del rapporto di fornitura in

Dettagli

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria Elettronica e Telecomunicazioni a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual

Dettagli

EPULIA - Enjoy Puglia using Ubiquitous technology in Landscape Interactive Adventures

EPULIA - Enjoy Puglia using Ubiquitous technology in Landscape Interactive Adventures UNIONE EUROPEA FONDO EUROPEO DI SVILUPPO REGIONALE. MINISTERO SVILUPPO ECONOMICO REGIONE PUGLIA AREA POLITICHE PER LO SVILUPPO IL LAVORO E L INNOVAZIONE PO FESR PUGLIA 2007-2013 Asse I Linea di Intervento

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

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Lezione 5 Dott. Alessandro Roncato 08/11/2011 Riassunto Pattern Singleton Pattern Plolimorfismo Classi e Interfacce 2 Ereditarietà multipla In Java una classe può estendere

Dettagli

Introduzione alla Computer Graphics

Introduzione alla Computer Graphics Introduzione alla Computer Graphics Informatica Grafica CdLS a ciclo unico in Ingegneria Edile-Architettura a.a. 2008/09 Computer Graphics e Image Processing Image processing Insieme di teorie ed algoritmi

Dettagli

Sommario Indietro >> Aggiungi Rimuovi Lingua? Informazioni su questa Guida... Navigazione nella Guida

Sommario Indietro >> Aggiungi Rimuovi Lingua? Informazioni su questa Guida... Navigazione nella Guida Sommario Indietro >> Informazioni su questa Guida... Navigazione nella Guida Personalizzazione Apertura del pannello di controllo Funzioni del pannello di controllo Schede Elenchi del pannello di controllo

Dettagli

Programmazione Android

Programmazione Android Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1 Cos è Android?

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

Sommario della lezione

Sommario della lezione Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 2 LEZIONE STRUTTURE DEI SISTEMI OPERATIVI CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione

Dettagli

Sistemi operativi I: Windows. Lezione I

Sistemi operativi I: Windows. Lezione I Sistemi operativi I: Windows Lezione I Scopo della lezione Richiamare le principali funzionalità di un sistema operativo Esemplificarle descrivendo la loro implementazione in Windows Introdurre alcuni

Dettagli

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer Computer Graphics La disciplina fornisce metodi per creare elaborare memorizzare visualizzare immagini di oggetti o scene mediante un computer Image Processing La disciplina fornisce metodi per acquisire

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

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

SOFTWARE DI GESTIONE PSS

SOFTWARE DI GESTIONE PSS Rev. 1.0 SOFTWARE DI GESTIONE PSS Prima di utilizzare questo dispositivo, si prega di leggere attentamente questo manuale e di conservarlo per future consultazioni. Via Don Arrigoni, 5 24020 Rovetta S.

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

Packet Tracer: simulatore di RETE

Packet Tracer: simulatore di RETE Packet Tracer: simulatore di RETE Packet Tracer è un software didattico per l'emulazione di apparati di rete CISCO. http://www.cisco.com/web/it/training_education/networking_academy/packet_tracer.pdf PT

Dettagli

Sezione 1. Studio e realizzazione di un dispositivo multi-touch

Sezione 1. Studio e realizzazione di un dispositivo multi-touch Sezione 1 Studio e realizzazione di un dispositivo multi-touch 1 Studio e realizzazione di un dispositivo multi-touch 1.1 Le tecnologie touch Uno schermo tattile è un display in grado di rilevare la presenza

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

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

La LIM a proiezione frontale si serve di un proiettore che può essere posizionato su uno stativo. ... o fissato sul soffitto

La LIM a proiezione frontale si serve di un proiettore che può essere posizionato su uno stativo. ... o fissato sul soffitto La Lavagna Multimediale Interattiva è una periferica del computer. Allo stato dell arte della tecnologia disponibile sul mercato, la Lavagna Interattiva Multimediale è una periferica del personal computer.

Dettagli

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo Prof. Ing. Domenico Cotroneo correlatore Ing. Armando Migliaccio candidato Giuseppe Di Luca Matr. 534/1493 LibeRTOS KUSP Contesto Linux based Real

Dettagli

WEBGATE400 ACTIVEX CONTROL. Manuale Programmatore

WEBGATE400 ACTIVEX CONTROL. Manuale Programmatore WEBGATE400 ACTIVEX CONTROL Manuale Programmatore Pagina 1 SOMMARIO Webgate400 ActiveX Control... 3 1 A Chi è destinato... 3 2 Pre requisiti... 3 3 Introduzione... 3 3.1 Requisiti di sistema... 3 3.2 Distribuzione

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

Ubiquity getting started

Ubiquity getting started Introduzione Il documento descrive I passi fondamentali per il setup completo di una installazione Ubiquity Installazione dei componenti Creazione del dominio Associazione dei dispositivi al dominio Versione

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

Da cosa è composto un sistema LIM

Da cosa è composto un sistema LIM Hardware Da cosa è composto un sistema LIM Software Computer Collegamento di rete Locale Internet Hardware Proiettore Telecomando Schermo touch Penne touch Angolatura Allineamento allo schermo Orientamento

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

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

FileMaker 8. Installazione dei driver client FileMaker 8 ODBC e JDBC

FileMaker 8. Installazione dei driver client FileMaker 8 ODBC e JDBC FileMaker 8 Installazione dei driver client FileMaker 8 ODBC e JDBC 2004-2005 Filemaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker

Dettagli

Videoregistratori Serie DX

Videoregistratori Serie DX Pagina:1 DVR per telecamere AHD, analogiche, IP Manuale APP mobile Come installare e utilizzare l App per dispositivi mobili Pagina:2 Contenuto del manuale In questo manuale viene descritto come installare

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

Lavagna interattiva EasyBoard EBT 80SR 4T

Lavagna interattiva EasyBoard EBT 80SR 4T è una lavagna Multi Touch da 80 pensata appositamente per le scuole. Con i suoi quattro tocchi permette di essere utilizzata da quattro utenti contemporaneamente, sia con i pennarelli colorati in dotazione

Dettagli

Samsung SUR40: la tecnologia touch-screen che rivoluziona l interazione tra consumatore e brand

Samsung SUR40: la tecnologia touch-screen che rivoluziona l interazione tra consumatore e brand Samsung SUR40: la tecnologia touch-screen che rivoluziona l interazione tra consumatore e brand Perché Samsung SUR40 Display Surface Riconoscimento degli oggetti e delle mani Scoprite la vera differenza

Dettagli

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche Il Cloud Computing La visualizzazione nella Cloud Problematiche Virtualizzazione della GPU Front end Virtualization

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

1.2.1.1 DEFINIZIONE DI SOFTWARE

1.2.1.1 DEFINIZIONE DI SOFTWARE Software 1.2 1.2.1.1 DEFINIZIONE DI SOFTWARE Il computer non è in grado di svolgere alcun compito autonomamente Esso può eseguire svariati compiti soltanto se viene opportunamente istruito Ciò avviene

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. 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

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

Dettagli