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

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

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso Integrare le MFC con Irrlicht by Raffaele White tiger Mancuso In questo topic spiegherò come integrare irrlicht in un documento singolo MFC *(1). Io ho usato il visual c++ 6 ma la procedura dovrebbe essere

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale

MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale InterWrite SchoolBoard è un software per lavagna elettronica di facile utilizzo. Può essere adoperata anche da studenti diversamente

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

WEB Conference, mini howto

WEB Conference, mini howto Prerequisiti: WEB Conference, mini howto Per potersi collegare o creare una web conference è necessario: 1) Avere un pc con sistema operativo Windows XP o vista (windows 7 non e' ancora certificato ma

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad

DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad Attraverso questo applicativo è possibile visualizzare tutti gli ingressi del DVR attraverso il cellulare. Per poter visionare le immagini

Dettagli

TECNOLOGIA LCD e CRT:

TECNOLOGIA LCD e CRT: TECNOLOGIA LCD e CRT: Domande più Frequenti FAQ_Screen Technology_ita.doc Page 1 / 6 MARPOSS, il logo Marposs ed i nomi dei prodotti Marposs indicati o rappresentati in questa pubblicazione sono marchi

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Classi ed Oggetti in JAVA

Classi ed Oggetti in JAVA Classi ed Oggetti in JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 telecamere. I sistemi di acquisizione ed archiviazione

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory.

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory. @ PC (Personal computer): Questa sigla identificò il primo personal IBM del 1981 a cura di R.Mangini Archiviazione: Il sistema operativo si occupa di archiviare i file. Background (sfondo): Cursore: Nei

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

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

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

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Scopo di questo corso, vuole essere quello di fornire ad ognuno dei partecipanti, indipendentemente dalle loro precedenti conoscenze informatiche, l apprendimento

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Progetto Didattico di Informatica Multimediale

Progetto Didattico di Informatica Multimediale Progetto Didattico di Informatica Multimediale VRAI - Vision, Robotics and Artificial Intelligence 20 aprile 2015 Rev. 18+ Introduzione Le videocamere di riconoscimento sono strumenti sempre più utilizzati

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Istruzioni sull aggiornamento per i modelli di navigazione: AVIC-F40BT, AVIC-F940BT, AVIC-F840BT e AVIC-F8430BT

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

TeamViewer 7 Manuale Controllo remoto

TeamViewer 7 Manuale Controllo remoto TeamViewer 7 Manuale Controllo remoto TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni sul

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

Dettagli

Mini manuale di Audacity.

Mini manuale di Audacity. Mini manuale di Audacity. Questo mini manuale è parte del corso on-line Usare il software libero di Altrascuola. Il corso è erogato all'interno del portale per l'e-learning Altrascuola con la piattaforma

Dettagli

Guida all'installazione ed uso dell'app RXCamLink

Guida all'installazione ed uso dell'app RXCamLink Guida all'installazione ed uso dell'app RXCamLink Questa guida riporta i passi relativi all'installazione ed all'utilizzo dell'app "RxCamLink" per il collegamento remoto in mobilità a sistemi TVCC basati

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC THOMSON SCIENTIFIC EndNote Web Quick Reference Card Web è un servizio online ideato per aiutare studenti e ricercatori nel processo di scrittura di un documento di ricerca. ISI Web of Knowledge, EndNote

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D Se avete un tablet android, ma non avete la minima idea di come accenderlo, usarlo e avviarlo, seguite queste nostre indicazioni 1. ATTIVAZIONE

Dettagli

Oscilloscopi serie WaveAce

Oscilloscopi serie WaveAce Oscilloscopi serie WaveAce 60 MHz 300 MHz Il collaudo facile, intelligente ed efficiente GLI STRUMENTI E LE FUNZIONI PER TUTTE LE TUE ESIGENZE DI COLLAUDO CARATTERISTICHE PRINCIPALI Banda analogica da

Dettagli

LA REGISTRAZIONE DEI FILE AUDIO.WAV IN CONTEMPORANEA CON LE MISURE FONOMETRICHE.

LA REGISTRAZIONE DEI FILE AUDIO.WAV IN CONTEMPORANEA CON LE MISURE FONOMETRICHE. Pagina 1 di 5 LA REGISTRAZIONE DEI FILE AUDIO.WAV IN CONTEMPORANEA CON LE MISURE FONOMETRICHE. A. Armani G. Poletti Spectra s.r.l. Via Magellano 40 Brugherio (Mi) SOMMARIO. L'impiego sempre più diffuso

Dettagli

In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning.

In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning. In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning. Per collegare un iphone con connettore Lightning ad SPH-DA100 AppRadio e

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni:

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni: Passepartout Mexal BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ Classi ed oggetti. Classi derivate, ereditarietà e polimorfismo. Template Capitoli 12, 13, 14 Luis Joyannes Aguilar. Fondamenti di Programmazione in C++. Algoritmi,

Dettagli

CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA

CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA Supponiamo di voler eseguire una istantanea del nostro desktop, quella che in gergo si chiama Screenshot (da screen, schermo, e shot, scatto fotografico).

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Strumenti 3D per SMART Notebook 11.1. Manuale dell'utente

Strumenti 3D per SMART Notebook 11.1. Manuale dell'utente Strumenti 3D per SMART Notebook 11.1 Manuale dell'utente Registrazione del prodotto Se si registra il prodotto SMART, si verrà informati delle nuove funzionalità e aggiornamenti software disponibili. Registrazione

Dettagli

Estrazione dati cartografici formato SHP (shape) ed e00

Estrazione dati cartografici formato SHP (shape) ed e00 Estrazione dati cartografici formato SHP (shape) ed e00 Istruzioni per visualizzazione codici di particella, simboli e linee tratteggiate in ArcGis 8.x 9.x 1- Da pannello di controllo in Windows installare

Dettagli

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP. Configurazione di indirizzi IP statici multipli Per mappare gli indirizzi IP pubblici, associandoli a Server interni, è possibile sfruttare due differenti metodi: 1. uso della funzione di Address Translation

Dettagli

TeamViewer 8 Manuale Controllo remoto

TeamViewer 8 Manuale Controllo remoto TeamViewer 8 Manuale Controllo remoto Rev 8.0-12/2012 TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen www.teamviewer.com Indice 1 Informazioni su TeamViewer... 6 1.1 Informazioni sul software... 6

Dettagli

TeamViewer 8 Manuale Meeting

TeamViewer 8 Manuale Meeting TeamViewer 8 Manuale Meeting Rev 8.0-12/2012 TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen www.teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Termometro Infrarossi ad Alte Temperature con Puntatore Laser

Termometro Infrarossi ad Alte Temperature con Puntatore Laser Manuale d Istruzioni Termometro Infrarossi ad Alte Temperature con Puntatore Laser MODELLO 42545 Introduzione Congratulazioni per aver acquistato il Termometro IR Modello 42545. Il 42545 può effettuare

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono","e-mail"}; //nomi delle colonne della tabella

Finestra.java. static String nomicolonne[] = {ind.,cognome,nome,telefono,e-mail}; //nomi delle colonne della tabella import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import java.awt.event.windowlistener; import java.io.*; import java.util.*;

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

GUIDA ALL INSTALLAZIONE

GUIDA ALL INSTALLAZIONE GUIDA ALL INSTALLAZIONE INTRODUZIONE BENVENUTO Benvenuto in SPARK XL l applicazione TC WORKS dedicata al processamento, all editing e alla masterizzazione di segnali audio digitali. Il design di nuova

Dettagli

Alb@conference GO e Web Tools

Alb@conference GO e Web Tools Alb@conference GO e Web Tools Crea riunioni virtuali sempre più efficaci Strumenti Web di Alb@conference GO Guida Utente Avanzata Alb@conference GO Per partecipare ad un audioconferenza online con Alb@conference

Dettagli

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A Leggere attentamente questo manuale prima dell utilizzo e conservarlo per consultazioni future Via Don Arrigoni, 5 24020 Rovetta

Dettagli

8. L'USO DEL PROGRAMMA DI POSTA ELETTRONICA INSIEME ALLA GESTIONE PROFESSIONALE DI DOCUMENTI IN FORMATO E-MAIL

8. L'USO DEL PROGRAMMA DI POSTA ELETTRONICA INSIEME ALLA GESTIONE PROFESSIONALE DI DOCUMENTI IN FORMATO E-MAIL This project funded by Leonardo da Vinci has been carried out with the support of the European Community. The content of this project does not necessarily reflect the position of the European Community

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Manuale d'istruzioni. Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280

Manuale d'istruzioni. Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280 Manuale d'istruzioni Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280 382280 Introduzione Congratulazioni per aver acquistato l'alimentatore DC Programmabile 382280 della Extech.

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

progettiamo e realizziamo architetture informatiche Company Profile

progettiamo e realizziamo architetture informatiche Company Profile Company Profile Chi siamo Kammatech Consulting S.r.l. nasce nel 2000 con l'obiettivo di operare nel settore I.C.T., fornendo servizi di progettazione, realizzazione e manutenzione di reti aziendali. Nel

Dettagli

Introduzione al GIS (Geographic Information System)

Introduzione al GIS (Geographic Information System) Introduzione al GIS (Geographic Information System) Sommario 1. COS E IL GIS?... 3 2. CARATTERISTICHE DI UN GIS... 3 3. COMPONENTI DI UN GIS... 4 4. CONTENUTI DI UN GIS... 5 5. FASI OPERATIVE CARATTERIZZANTI

Dettagli

Guida rapida. Cos è GeoGebra? Notizie in pillole

Guida rapida. Cos è GeoGebra? Notizie in pillole Guida rapida Cos è GeoGebra? Un pacchetto completo di software di matematica dinamica Dedicato all apprendimento e all insegnamento a qualsiasi livello scolastico Riunisce geometria, algebra, tabelle,

Dettagli

RETTE, PIANI, SFERE, CIRCONFERENZE

RETTE, PIANI, SFERE, CIRCONFERENZE RETTE, PIANI, SFERE, CIRCONFERENZE 1. Esercizi Esercizio 1. Dati i punti A(1, 0, 1) e B(, 1, 1) trovare (1) la loro distanza; () il punto medio del segmento AB; (3) la retta AB sia in forma parametrica,

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Attiva la APP di GoToMeeting. Clicca su ATTIVA APP

Attiva la APP di GoToMeeting. Clicca su ATTIVA APP Questo breve manuale ha lo scopo di mostrare la procedura con la quale interfacciare la piattaforma di web conferencing GoToMeeting e la tua piattaforma E-Learning Docebo. Questo interfacciamento consente

Dettagli

Curriculum Vitae Europass

Curriculum Vitae Europass Curriculum Vitae Europass Informazioni personali Cognome/i nome/i Castelli Flavio Email flavio.castelli@gmail.com Sito web personale http://www.flavio.castelli.name Nazionalità Italiana Data di nascita

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Controllare un nastro trasportatore fischertechnik con Arduino

Controllare un nastro trasportatore fischertechnik con Arduino TITOLO ESPERIENZA: Controllare un nastro trasportatore fischertechnik con Arduino PRODOTTI UTILIZZATI: OBIETTIVO: AUTORE: RINGRAZIAMENTI: Interfacciare e controllare un modello di nastro trasportatore

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

Guida. Vista Live. Controllo. Riproduzione su 24 ore. Ricerca avanz. Le icone includono: Mod. uscita. Icona. Un sensore di allarme.

Guida. Vista Live. Controllo. Riproduzione su 24 ore. Ricerca avanz. Le icone includono: Mod. uscita. Icona. Un sensore di allarme. Guida operatore del registratore TruVision Vista Live Sull immagine live dello schermo vengono visualizzati laa data e l ora corrente, il nome della telecamera e viene indicato se è in corso la registrazione.

Dettagli