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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

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

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

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

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

IDL. Scoprite cosa si nasconde nei vostri dati

IDL. Scoprite cosa si nasconde nei vostri dati IDL. Scoprite cosa si nasconde nei vostri dati L efficacia dell analisi IDL IDL include un motore di analisi solido e efficace, che consente di estrarre dai dati le specifiche informazioni statistiche

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

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

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

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

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

UNIVERSITÀ DEGLI STUDI DI SIENA

UNIVERSITÀ DEGLI STUDI DI SIENA UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica, orientamento Robotica ed Automazione Tesi di Laurea Interazione Visuo-Aptica con Oggetti Deformabili

Dettagli

Scopo di questa lezione

Scopo di questa lezione DISPOSITIVI PER LA MANIPOLAZIONE DIRETTA Scopo di questa lezione Presentare una rassegna dei principali dispositivi di interazione uomo computer che possono essere usati, con l uso delle mani, nel paradigma

Dettagli

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente INTRODUZIONE Per sviluppare applicazioni in grado di girare su sistemi Android servono tre cose: il Java JDK (Java Development Kit), che contiene tutti gli strumenti necessari a sviluppare nel linguaggio

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

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

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

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

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

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

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

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

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

Laboratorio 3. Nuove tecnologie e didattica

Laboratorio 3. Nuove tecnologie e didattica Laboratorio 3 Nuove tecnologie e didattica Breve introduzione all utilizzo della LIM e presentazione di alcuni strumenti utili nella didattica quotidiana LIM ovvero Lavagna Interattiva Multimediale (Interactive

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

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

Periferiche di I/O. Architettura di Von Neumann. 02 novembre 2006 BUS. Schema generale di tipo funzionale del calcolatore.

Periferiche di I/O. Architettura di Von Neumann. 02 novembre 2006 BUS. Schema generale di tipo funzionale del calcolatore. Periferiche di I/O 02 novembre 2006 Architettura di Von Neumann Schema generale di tipo funzionale del calcolatore Unità Centrale Memoria Centrale Interfacce delle Periferiche BUS DATI BUS BUS CONTROLLO

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

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

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

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

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

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

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

Rendering & ray tracing. Implementazione e applicazione pratica

Rendering & ray tracing. Implementazione e applicazione pratica Rendering & ray tracing Implementazione e applicazione pratica Che cos e CG(computer graphics)? Quando si parla di CG si intendono immagini, o video creati al computer. CG e una branca dell informatica

Dettagli

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea Università degli studi Roma Tre Dipartimento di informatica ed automazione Tesi di laurea Reingegnerizzazione ed estensione di uno strumento per la generazione di siti Web Relatore Prof. P.Atzeni Università

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

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

Associazione Nazionale Subvedenti sede operativa L.go Volontari del Sangue, 1 - Milano tel/fax: 02 70 63 28 50 e-mail: info@subvedenti.

Associazione Nazionale Subvedenti sede operativa L.go Volontari del Sangue, 1 - Milano tel/fax: 02 70 63 28 50 e-mail: info@subvedenti. Associazione Nazionale Subvedenti sede operativa L.go Volontari del Sangue, 1 - Milano tel/fax: 02 70 63 28 50 e-mail: info@subvedenti.it Web: www.subvedenti.it Panoramica sulle tecnologie assistive e

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

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

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

Lezione 3: Grafica 3D*

Lezione 3: Grafica 3D* Lezione 3: Grafica 3D* Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) Sommario Il processo grafico La modellazione 3D Rendering

Dettagli

PROGETTO LAUREE SCIENTIFICHE

PROGETTO LAUREE SCIENTIFICHE 1 PROGETTO LAUREE SCIENTIFICHE Write once, write everywhere è il motto dei progettisti del linguaggio java. Infatti questo linguaggio è il risultato dell esigenza di programmare per quello che si può chiamare

Dettagli

Studio di Tecnologie ed Architetture DVB e Sviluppo di un Dimostratore di una Piattaforma di Teleassistenza

Studio di Tecnologie ed Architetture DVB e Sviluppo di un Dimostratore di una Piattaforma di Teleassistenza Studio di Tecnologie ed Architetture DVB e Sviluppo di un Dimostratore di una Piattaforma di Teleassistenza Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica (LS) Tesi in Progettazione del

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

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

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

Manuale d Uso. jepssen.com 02

Manuale d Uso. jepssen.com 02 jepssen PAN Manuale d Uso jepssen.com 02 jepssen.com 2014 Jepssen. All rights reserved. Indice Introduzione 04 1.1 Funzionamento e Preparazione 05 1.2 Stato e Promemoria 05 Guida Rapida 06 2.1 Pulsanti

Dettagli

Introduzione allo sviluppo ios con tecnologie web

Introduzione allo sviluppo ios con tecnologie web Capitolo 1 Introduzione allo sviluppo ios con tecnologie web L introduzione di iphone e la presentazione successiva di ipod touch e ipad hanno rivoluzionato il modo con il quale le persone interagiscono

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

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

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

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

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

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

Laboratorio di Elaborazione e Trasmissione Video

Laboratorio di Elaborazione e Trasmissione Video + Laboratorio di Elaborazione e Trasmissione Video Prof. Christian Micheloni Dott. Marco Vernier Dipartimento di Matematica e Informatica Università degli studi di Udine Cosa abbiamo visto Nella 1 lezione:

Dettagli

Sorveglianza remota tramite cellulare LCTVR2304SE. Apple iphone Windows Mobile Android Blackberry Symbian OS

Sorveglianza remota tramite cellulare LCTVR2304SE. Apple iphone Windows Mobile Android Blackberry Symbian OS Sorveglianza remota tramite cellulare LCTVR2304SE Apple iphone Windows Mobile Android Blackberry Symbian OS LCT1024/Ver1.0 1 Sorveglianza remota tramite Telefono Cellulare Compatibilità La serie Di DVR

Dettagli

DESIGN PATTERNS Parte 2. Polimorfismo Pure Fabrication Simple Factory/Concrete Factory Factory Method Abstract Factory Protect Variations + Reflection

DESIGN PATTERNS Parte 2. Polimorfismo Pure Fabrication Simple Factory/Concrete Factory Factory Method Abstract Factory Protect Variations + Reflection DESIGN PATTERNS Parte 2 Polimorfismo Pure Fabrication Simple Factory/Concrete Factory Factory Method Abstract Factory Protect Variations + Reflection POLIMORFISMO Il polimorfismo è la base della programmazione

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

Supporti tecnologici per la creazione musicale Sistemi multimodali per il controllo e la spazializzazione del suono in tempo reale

Supporti tecnologici per la creazione musicale Sistemi multimodali per il controllo e la spazializzazione del suono in tempo reale Supporti tecnologici per la creazione musicale Sistemi multimodali per il controllo e la spazializzazione del suono in tempo reale Mathieu Bosi Matteo Bozzolan Coordinatore M Giovanni Cospito Roma, 31-10-07

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II PROF. G. BONGIOVANNI 0) INTRODUZIONE AL LINGUAGGIO JAVA PER PROGRAMMATORI C++...2 0.1) Caratteristiche principali... 2 0.1.1)

Dettagli

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java La Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Anno Accedemico 2008-2009 Relazione finale su progetto interno Realizzazione di un applicazione per la visualizzazione

Dettagli

SQL Server Express Edition è la novità di Visual Studio.Net versione di SQL Server che presenta la seguenti caratteristiche:

SQL Server Express Edition è la novità di Visual Studio.Net versione di SQL Server che presenta la seguenti caratteristiche: Presentazione del prodotto Presentazione del prodotto SQL Server Express Edition è la novità di Visual Studio.Net versione di SQL Server che presenta la seguenti caratteristiche: 2005. Una liberamente

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

Wacom presenta Intuos, il nuovo sistema di tavolette grafiche

Wacom presenta Intuos, il nuovo sistema di tavolette grafiche Wacom presenta Intuos, il nuovo sistema di tavolette grafiche Espandibile e ricco di strumenti grafici, è ideale per qualsiasi tipo di applicazione artistica e professionale Le innovative funzionalità

Dettagli

Visualizzazione in ambienti di Realtà Virtuale di scenari fotorealistici basati su dati e calcoli illuminotecnici. Applicazione agli Esterni Urbani

Visualizzazione in ambienti di Realtà Virtuale di scenari fotorealistici basati su dati e calcoli illuminotecnici. Applicazione agli Esterni Urbani Agenzia Nazionale per le Nuove Tecnologie l Energia e lo Sviluppo Economico Sostenibile RICERCA DI SISTEMA ELETTRICO Visualizzazione in ambienti di Realtà Virtuale di scenari fotorealistici basati su dati

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

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

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch drag & drop visual programming appinventor realizzazione app per Google Android OS appinventor è un applicazione drag & drop visual programming Contrariamente ai linguaggi tradizionali (text-based programming

Dettagli

1.4c: Hardware(Periferiche di Input 1)

1.4c: Hardware(Periferiche di Input 1) 1.4c: Hardware(Periferiche di Input 1) 2 28 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 4.1, 4.2, 4.6 IV ediz.: cap. 3.1, 3.2, 3.6 Questi

Dettagli

Università della Svizzera italiana

Università della Svizzera italiana Università della Svizzera italiana Il sito dell Università della Svizzera italiana e l accessibilità Vs.1.0 11 / 12 / 2007 TEC-LAB WEB-SERVICE 1. INTRODUZIONE Avere accesso al web, per un utente disabile,

Dettagli

Guida all'utilizzo di "Ambiente Italia 3D"

Guida all'utilizzo di Ambiente Italia 3D Guida all'utilizzo di "Ambiente Italia 3D" MATTM-SCC-DM0006-V01-01 Pagina 1 di 34 Sommario 1 Avvio del programma Ambiente Italia 3D 3 2 Elementi dell'interfaccia 5 2.1 Il visualizzatore 5 2.2 La barra

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

I linguaggi di programmazione per i servizi in multicanalità

I linguaggi di programmazione per i servizi in multicanalità I linguaggi di programmazione per i servizi in multicanalità Gianluca Daino Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione daino@unisi.it I servizi delle reti Un servizio

Dettagli