Programmazione J2ME. Lezione 10. Mobile3D (incompleta) Di Blasi Gianpiero - D.M.I. - Università di Catania

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione J2ME. Lezione 10. Mobile3D (incompleta) Di Blasi Gianpiero - D.M.I. - Università di Catania"

Transcript

1 Di Blasi Gianpiero - D.M.I. - Università di Catania Programmazione J2ME Lezione 10 Mobile3D (incompleta)

2 Cosa impareremo oggi? L'API Mobile3D Come scoprire la presenza dell'api Mobile3D Caratteristiche generali e funzionamento del package javax.microedition.m3g

3 Introduzione (1) Questa lezione presenta L'API M3G (Mobile3D Graphics) per dispositivi J2ME Tale API (JSR 184) è un package opzionale per la creazione di ambienti tridimensionali La libreria presenta una serie di classi ed un modello di programmazione molto simile all'api Java3D Sfortunatamente però le due API non sono compatibili

4 Introduzione (2) In ogni caso la conoscenza di Java3D semplifica notevolmente lo studio di Mobile3D (ovviamente vale anche il viceversa) Non tutti i dispositivi supportano Mobile3D, ma la maggior parte degli emulatori sono già abilitati Durante questa lezione darò per scontata la conoscenza dei principi fondamentali della Computer Graphics

5 Introduzione (3) L'API supporta sia la programmazione grafica di alto livello sia quella di basso livello Nell'implementazione di alto livello (detta retained mode), lo sviluppatore lavora con un modello scene graph ed il rendering dell'ambiente 3D è automatico e tutto a carico del motore Mobile3D Nell'implementazione di basso livello (immediate mode) lo sviluppatore deve invece disegnare manualmente tutto il mondo 3D (compresi i problemi di prospettiva, di luce, di vista, ecc.)

6 Introduzione (4) Noi ci occuperemo principalmente del retained mode poiché è più semplice e simile a Java3D, daremo solo cenni invece sull'immediate mode Il sistema a basso livello si comporta esattamente come le librerie OpenGL ES OpenGL ES (OpenGL for Embedded Systems) è un'api di basso livello sottoinsieme di OpenGL specifica per i dispositivi embedded Essa fornisce un'interfaccia di basso livello tra l'applicazione ed il motore 3D del dispositivo

7 Altre API simili Mobile Media API (JSR 135): è un'api di alto livello per il controllo di diversi tipi di media (principalmente audio e video); non implementa grafica 3D; JSR 184 è stato definito per fornire le funzionalità base per la grafica 3D Java Bindings for OpenGL ES (JSR 239): un wrapper J2ME per OpenGL ES; è l'equivalente di JOGL per OpenGL e Java

8 Il package javax.microedition.m3g (1) L'API Mobile3D è definita nel package javax.microedition.m3g Tale package contiene tutte le classi necessarie per la creazione di mondi 3D La libreria definisce inoltre una struttura scene graph ed un formato di file corrispondente per gestire e distribuire contenuti 3D in modo efficiente

9 Il package javax.microedition.m3g (2) Graphics3D il contesto grafico 3D Object3D una classe astratta per gli oggetti contenuti nel mondo questo include il mondo stesso, i nodi dello scene graph, le animazioni, le texture, ecc. Transformable una classe astratta per Node e Texture2D dove sono definiti i metodi comuni per la manipolazione dei nodi e per le trasformazioni delle texture

10 Il package javax.microedition.m3g (3) Node una classe astratta per tutti i nodi dello scene graph ci sono cinque differenti tipi di nodi: Camera - definisce la posizione dell'osservatore e la proiezione da 3D a 2D Mesh - rappresenta un oggetto 3D definito come una superficie poligonale immutabile Sprite3D - rappresenta una immagine 2D con una posizione 3D Light - definisce posizione, direzione, colore ed altri attributi di una sorgente luminosa Group - un contenitore di altri nodi

11 Il package javax.microedition.m3g (4) World un nodo Group radice dello scene graph MorphingMesh un nodo dello scene graph rappresentante un oggetto 3D definito come una superficie poligonale modificabile tramite un vertex-morphing SkinnedMesh un nodo dello scene graph rappresentante un oggetto 3D definito come una superficie poligonale animabile

12 Il package javax.microedition.m3g (5) Appearance un insieme di componenti che definiscono l'aspetto di una Mesh o di uno Spring3D Material un componente di Appearance che incapsula gli attributi per il calcolo del comportamento della luce sugli oggetti altri attributi per la luce sono definiti in Light, PolygonMode e VertexBuffer

13 Il package javax.microedition.m3g (6) CompositingMode un componente di Appearance che incapsula gli attributi della composizione del colore per-pixel PolygonMode un componente di Appearance che incapsula gli attributi per i poligoni (back/front face culling, calcolo delle luci, correzione prospettica, shading, ecc.) Fog un componente di Appearance che incapsula gli attributi della nebbia

14 Il package javax.microedition.m3g (7) Texture2D un componente di Appearance che incapsula una texture e gli attributi su come applicarla ad una mesh (wrapping, filtering, blending, trasformazione delle coordinate, ecc.) Background definisce come cancellare il mondo, può essere pensato come lo sfondo di una scena Loader carica e deserializza i nodi di uno scene graph

15 Il package javax.microedition.m3g (8) AnimationController controlla la posizione, velocità e peso di una animazione; per esempio può essere usato per controllare il movimento di una luce KeyframeSequence incapsula i dati dell'animazione come una sequenza di key-frame AnimationTrack associa un KeyframeSequence con un AnimationController

16 Il package javax.microedition.m3g (9) Image2D un'immagine utilizzabile come texture, sfondo o sprite ci sono due tipi di immagini: mutable (aggiornabili in qualsiasi momento) immutable (non aggiornabili) RayIntersection conserva il riferimento ad una Mesh o uno Sprite3D intersecato e le informazioni sul punto di intersezione Transform una matrice 4x4 rappresentante una trasformazione 3D

17 Il package javax.microedition.m3g (10) TriangleStripArray definisce un array di triangoli collegati a strip in una strip, i primi tre vertici definiscono il primo triangolo, ogni ogni altro vertice definisce uno nuovo triangolo usando i due precedenti VertexArray un array di vettori interi rappresentante posizione, normali, colori e coordinate delle texture di ogni vertice

18 Il package javax.microedition.m3g (11) VertexBuffer conserva i riferimenti ai VertexArray per un insieme di vertici IndexBuffer definisce come connettere i vertici per formare una geometria

19 Scoprire la presenza del package Mobile3D (1) Poiché Mobile3D è un package opzionale, tale API potrebbe essere non disponibile su qualche dispositivo quindi è necessario un sistema per ottenere tale informazione Sfortunatamente non esiste un sistema universale per fare ciò ed ogni profilo MIDP ed ogni piattaforma potrebbero avere un sistema proprietario per tale scopo

20 Scoprire la presenza del package Mobile3D (2) Un'alternativa per scoprire la presenta dell'api Mobile3D è chiedere al dispositivo la versione dell'api stessa Infatti si può chiamare il metodo System.getProperty( microedition.m3g.version ): restituisce la versione dell'api ( 1.1 o 1.0 ) se l'api è presente, null altrimenti

21 Scoprire la presenza del package Mobile3D (3) Esempio (provare sia su MpowerPlayer sia su WTK) PackageDiscovery

22 La classe Graphics3D (1) La classe Graphics3D è il cuore di tutta l'api È il contesto grafico 3D che si occupa del rendering della scena È un oggetto singleton (ne può esistere una sola istanza) Tutto il rendering è fatto tramite i metodi render(...) L'API non contiene altro sistema per il rendering di scene 3D

23 La classe Graphics3D (2) Ci sono quattro diversi metodi render(...) operanti a diversi livelli di granularità Il primo metodo renderizza un intero World ed in tal caso si dice che l'api opera in retained mode Il secondo metodo renderizza nodi dello scene graph, mentre il terzo ed il quarto metodo renderizzano semplici mesh ed in questi tre casi si dice che l'api opera in immediate mode

24 La classe Graphics3D (3) La classe Graphics3D fa riferimento ad una camera corrente ed ad un array di luci correnti Queste sono usate solo dai metodi dell'immediate mode Il retained mode usa la camera e le luci specificate nel World, ignorando totalmente camera e luci del Graphics3D

25 La classe Graphics3D (4) Prima del rendering l'applicazione deve registrare un target al Graphics3D usando il metodo void bindtarget(object target): registra un Graphics o una Image2D modificabile come target di questo Graphics3D Quando il rendering è completato l'applicazione deve rilasciare il target con il metodo void releasetarget(): rilascia il target

26 La classe Graphics3D (5) Metodi utili static Graphics3D getinstance(): restituisce l'istanza singleton di Graphics3D Object gettarget(): restituisce il target attuale void clear(background background): cancella la scena tramite un background void setcamera(camera camera, Transform transform): imposta la camera corrente Camera getcamera(transform transform): restituisce la camera corrente (continua...)

27 La classe Graphics3D (6) Metodi utili (segue) int addlight(light light, Transform transform): aggiunge una luce alla scena void setlight(int index, Light light, Transform transform): imposta una luce nell'array delle luci correnti Light getlight(int index, Transform transform): restituisce una luce nell'array delle luci correnti int getlightcount(): restituisce il numero di luci correnti void resetlights(): cancella l'array delle luci correnti

28 La classe Graphics3D (7) Esempio (No su MPowerPlayer) Graphics3DSample

29 La classe Loader (1) Nel precedente esempio è stata introdotta anche la classe Loader Il suo funzionamento è molto semplice: scarica e deserializza file in formato M3G è capace di deserializzare istanze di qualsiasi classe derivata da Object3D (World, Group, Camera, Light, Material, Appearance, Texture2D, AnimationTrack, KeyframeSequence, ecc.) qualsiasi altro oggetto non può essere deserializzato

30 La classe Loader (2) La classe Loader è anche capace di caricare immagini in formato PNG In tal caso l'oggetto restituito è un'istanza non modificabile di Image2D il cui pixel format corrisponde al color type del PNG Alcune implementazioni Mobile3D potrebbero ovviamente supportare anche altri formati oltre al PNG

31 La classe Loader (3) Metodi utili: static Object3D[] load(byte[] data, int offset): deserializza istanze di Object3D da un array di byte iniziando da un dato offset static Object3D[] load(string name): carica e deserializza istanze di Object3D da una risorsa (interna o esterna alla midlet)

32 La classe World (1) Nel precedente esempio è stata introdotta anche la classe World Anche il funzionamento di questa classe è molto semplice World è uno speciale Group (che vedremo a breve) radice dello scene graph Uno scene graph è costituito da una gerarchia di nodi Tutti i nodi sono connessi tra loro ed hanno una radice comune: un oggetto World

33 La classe World (2)

34 La classe World (3) Costruttore World() Metodi utili (oltre a quelli di Group) Camera getactivecamera(): restituisce la camera attiva void setactivecamera(camera camera): imposta la camera attiva Background getbackground(): restituisce lo sfondo si questo mondo void setbackground(background background): imposta lo sfondo di questo mondo

35 La classe Background (1) Definisce uno sfondo per il mondo: nel retained mode viene utilizzato l'oggetto Background associato al World nell'immediate mode bisogna specificare un apposito oggetto Background da utilizzare nel metodo clear(...) di Graphics3D La cancellazione dello sfondo riguarda sia il color buffer che il depth buffer (z-buffer) Il color buffer è cancellato usando il Background, il depth buffer è cancellato impostando tutto il buffer al massimo valore possibile

36 La classe Background (2) Il Background può essere definito da un colore, da una Image2D o da entrambi: se è presente solo il colore lo sfondo sarà colorato di quel colore se è presente solo l'immagine lo sfondo sarà colorato con quell'immagine se sono presenti entrambi lo sfondo sarà colorato prima con il colore e poi con l'immagine

37 La classe Background (3) Costruttore Background() Metodi utili void setcolor(int ARGB): imposta il colore di sfondo void setimage(image2d image): imposta l'immagine di sfondo void setcolorclearenable(boolean enable): imposta la cancellazione del color buffer void setdepthclearenable(boolean enable): imposta la cancellazione del depth buffer

38 La classe Background (4) Esempi (No su MPowerPlayer) BackgroundSample_a1 BackgroundSample_a2

39 La classe Camera (1) Definisce la posizione dell'osservatore nella scena e la sua proiezione dal 3D al 2D La camera è sempre orientata verso l'asse Z negativo e può essere posizionata ed orientata come qualsiasi altro nodo attraverso le trasformazioni (che vedremo a breve) Costruttore Camera() I metodi più importanti della classe Camera si trovano nella classe Transformable e servono per posizionarla nello spazio

40 La classe Camera (2) Esempio (No su MPowerPlayer) CameraSample

41 La classe Object3D Con gli esempi finora presentati abbiamo avuto modo di iniziare a conoscere alcune classi foglie dell'api e capire come funziona il retained mode Adesso bisogna andare a studiare le classi root La classe Object3D è una classe astratta base di tutti gli oggetti che possono essere parte di un mondo 3D Contiene ovviamente i metodi comuni a tutte le classi

42 La classe Object3D animazione (1) Una delle caratteristiche principali di questa classe è la possibilità di essere animata Le animazioni sono applicate all'oggetto ed a tutti i suoi discendenti nello scene graph Per fare ciò bisogna utilizzare il metodo int animate(int time): aggiorna tutte le proprietà animabili di questo oggetto e di tutti i suoi discendenti nello scene graph

43 La classe Object3D animazione (2)

44 La classe Object3D l'id (1) Ogni Object3D può avere assegnato un ID, attraverso il metodo void setuserid(int userid): imposta l'id dell'oggetto Ovviamente esiste il corrispondente int getuserid(): restituisce l'id dell'oggetto Gli ID possono essere usati ad esempio per recuperare un oggetto da una scena ottenuta da stream

45 La classe Object3D l'id (2) Per recuperare un oggetto si utilizza il metodo Object3D find(int userid): recupera un oggetto con un dato userid e raggiungibile da questo oggetto Il metodo find(...) cerca in tutti gli oggetti raggiungibili da questo oggetto Se ci sono oggetti con lo stesso ID ne verrà restituito uno qualsiasi (non c'è modo di decidere quale)

46 La classe Object3D l'id (3)

47 La classe Object3D dati utente Infine la classe Object3D ha un campo riservato per i dati dell'utente Questo campo può contenere qualsiasi Object ed il suo utilizzo dipende dall'applicazione che si sta sviluppando I metodi per impostare e recuperare tale campo sono void setuserobject(object userobject): imposta un dato dell'utente Object getuserobject(): recupera un dato dell'utente

48 La classe Object3D Altri metodi utili void addanimationtrack(animationtrack animationtrack), void removeanimationtrack(animationtrack animationtrack): aggiunge/rimuove un gestore di animazioni AnimationTrack getanimationtrack(int index): restituisce il gestore di animazioni alla posizione index int getanimationtrackcount(): restituisce il numero di gestori delle animazioni associati a questo Object3D Object3D duplicate(): duplica questo Object3D int getreferences(object3d[] references): restituisce numero ed oggetti direttamente referenziati da questo Object3D

49 La classe Transformable (1) La classe Transformable è una classe astratta per Node e Texture2D e definisce i metodi comuni per la manipolazione delle trasformazioni di nodi e texture Le trasformazioni di nodi e texture consistono di quattro componenti: traslazione (T), rotazione (R), scala (S) ed una generica matrice 4x4 (M) Un vettore omogeneo p = (x, y, z, w), rappresentante un vertice (Node) o una coordinata di texture (Texture2D), è trasformato nel vettore p' = (x', y', z', w') = T R S M p

50 La classe Transformable (2) Metodi utili void getcompositetransform(transform transform): restituisce la matrice composita C = T R S M void gettranslation(float[] xyz): restituisce la componente di traslazione void getorientation(float[] angleaxis): restituisce la componente di rotazione void getscale(float[] xyz): restituisce la componente di scala void gettransform(transform transform): restituisce la matrice generica 4x4 M (continua...)

51 La classe Transformable (3) Metodi utili (segue) void settranslation(float tx, float ty, float tz): imposta la componente di traslazione void translate(float tx, float ty, float tz): aggiunge una traslazione alla componente di traslazione void setorientation(float angle, float ax, float ay, float az): imposta la componente di rotazione void settransform(transform transform): imposta la matrice generica 4x4 M (continua...)

52 La classe Transformable (4) Metodi utili (segue) void postrotate(float angle, float ax, float ay, float az): moltiplica a destra la componente di rotazione per la rotazione data void prerotate(float angle, float ax, float ay, float az): moltiplica a sinistra la componente di rotazione per la rotazione data void setscale(float sx, float sy, float sz): imposta la componente di scala void scale(float sx, float sy, float sz): moltiplica la componente di scala per la scala data

53 La classe Transform (1) Transform (classe di appoggio di Transformable) è una generica matrice 4x4 rappresentante una qualsiasi trasformazione 3D Anche se Transform permette di definire qualsiasi matrice 4x4 conviene usare soltanto matrici invertibili (non singolari) Questo poiché l'utilizzo di una matrice non invertibile potrebbe portare al verificarsi di eccezioni a run-time

54 La classe Transform (2) Costruttori: Transform() Transform(Transform transform) Metodi utili void get(float[] matrix): restituisce il contenuto di questa trasformazione in un array di 16 elementi void set(float[] matrix), void set(transform transform): imposta questa trasformazione (continua...)

55 La classe Transform (3) Metodi utili (segue) void setidentity(): imposta questa trasformazione all'identità void invert(): inverte questa matrice, se possibile void transpose(): calcola la trasposta di questa matrice void transform(float[] vectors): moltiplica il vettore 4D dato per questa trasformazione void transform(vertexarray in, float[] out, boolean W): moltiplica i vertici di in per questa matrice e conserva il risultato nel vettore out, W vale true per impostare la componente w a 1, false per impostarla a 0 (continua...)

56 La classe Transform (4) Metodi utili (segue) void postmultiply(transform transform): moltiplica a destra questa trasformazione per la trasformazione data void postrotate(float angle, float ax, float ay, float az), void postrotatequat(float qx, float qy, float qz, float qw): moltiplica a destra questa trasformazione per la rotazione data void postscale(float sx, float sy, float sz): moltiplica a destra questa trasformazione per la scala data void posttranslate(float tx, float ty, float tz): moltiplica a destra questa trasformazione per la traslazione data

57 La classe Node La classe astratta per tutti i nodi dello scene graph Ogni nodo definisce un sistema di coordinate locali che può essere trasformato relativamente al sistema di coordinate del nodo padre Tale trasformazione consiste sempre delle quattro componenti T, R, S ed M

58 La classe Node allineamento (1) Un nodo può essere allineato rispetto ad un nodo di riferimento Questo significa che il nodo allineato è (su richiesta) automaticamente orientato in modo tale che il suo sistema di coordinate corrisponda al sistema di coordinate del nodo di riferimento Un caso classico di utilizzo è per la creazione delle billboard, ovvero oggetti che guardano sempre verso la camera (maggiori dettagli nel corso di Computer Graphics)

59 La classe Node allineamento (2) Quando un nodo è allineato la sua componente di rotazione originale R è sovrascritta con una rotazione di allineamento A Le altre componenti sono lasciate inalterate La trasformazione dal sistema di coordinate locali di un nodo allineato al sistema di coordinate del suo nodo padre è p' = T A S M p Quando necessario l'applicazione deve esplicitamente invocare l'allineamento su un nodo

60 La classe Node allineamento (3) Per allineare un nodo bisogna chiamare il metodo void align(node reference): allinea il nodo al nodo reference void setalignment(node zref, int ztarget, Node yref, int ytarget): allinea il nodo ai nodi di riferimento ztarget ed ytarget posso assumere i valori: NONE nessun allineamento ORIGIN allinea l'asse in modo tale che punti all'origine del sistema di coordinate del nodo di riferimento X_AXIS, Y_AXIS, Z_AXIS allinea l'asse con l'asse x, y, o z del sistema di coordinate del nodo di riferimento

61 La classe Node allineamento (4) Altri metodi utili per l'allineamento sono Node getalignmentreference(int axis): restituisce il nodo di riferimento per l'asse axis int getalignmenttarget(int axis): restituisce l'asse target per l'asse axis

62 La classe Node proprietà ereditate (1) Oltre alle trasformazioni ci sono altre tre proprietà i cui valori sono influenzati dai nodi padre Queste proprietà sono: il fattore alpha, il flag di rendering ed il flag di picking Il fattore alpha è un valore nel range [0, 1] che definisce la trasparenza di un oggetto L'effettiva fattore alpha di un nodo è il prodotto del suo fattore alpha e dell'effettivo fattore alpha del nodo padre (definizione ricorsiva)

63 La classe Node proprietà ereditate (2) Il flag di rendering (picking) permette a gruppi di nodi di essere invisibili al rendering (picking) ovvero non sono visualizzati ( acchiappati ) L'effettivo flag di un nodo è la AND logica del suo flag e dell'effettivo flag del nodo padre (definizione ricorsiva) Ciò vuol dire che rendere un nodo visibile o acchiappabile non avrà l'effetto desiderato se qualche nodo superiore non lo è

64 La classe Node proprietà ereditate (3) Per recuperare ed impostare le proprietà si usano i metodi float getalphafactor(): recupera il fattore alpha void setalphafactor(float alphafactor): imposta il fattore alpha boolean isrenderingenabled(): recupera il flag di rendering void setrenderingenable(boolean enable): imposta il flag di rendering boolean ispickingenabled(): recupera il flag di picking void setpickingenable(boolean enable): imposta il flag di picking

65 La classe Node scope (1) Lo scope di un Node è un bitmask integer che permette ai nodi di uno scene graph di formare gruppi logici indipendenti dalla gerarchia fisica dello scene graph In altre parole nodi appartenenti a Group diversi possono appartenere allo stesso scope e viceversa Due nodi A e B appartengono allo stesso scope se scopea & scopeb!= 0

66 La classe Node scope (2) Lo scope serve principalmente in tre casi: visibilità solo gli oggetti che appartengono allo stesso scopo della camera sono renderizzati; questo da un modo aggiuntivo al flag di rendering per controllare l'insieme di oggetti visibili illuminazione una sorgente di luce ha effetto solo sugli oggetti che appartengono al suo scope (utile per migliorare le prestazioni e per poter creare scene complesse) picking solo gli oggetti che appartengono allo stesso scopo dell'oggetto acchiappante possono essere acchiappati

67 La classe Node scope (3) Lo scope di default è -1 (in binario una stringa del tipo ) Ciò implica che di default tutti i nodi appartengono a tutti gli scope Quindi di default tutti gli oggetti sono visibili da tutte le camere ed illuminati da tutte le sorgenti di luce Metodi per impostare e recuperare lo scope int getscope(), void setscope(int scope): recupera ed imposta lo scope di un nodo

68 La classe Group (1) Un Group è un nodo dello scene graph capace di conservare una lista (non ordinata) di altri nodi figli Può essere visto come un semplice raggruppatore logico (non fisico) di nodi La relazione padre-figlio è bidirezionale: se il nodo A è figlio del nodo B allora B è l'unico e solo genitore di A

69 La classe Group (2) Costruttore: Group() Metodi utili: void addchild(node child): aggiunge un nodo al gruppo void removechild(node child): rimuove un nodo dal gruppo Node getchild(int index): restituisce il nodo di posto index int getchildcount(): restituisce il numero di figli

70 Da Scrivere Descrizione completa ed esempi per le altre classi

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

Dettagli

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002 Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

SOMMARIO. Introduzione - OpenInventor. Introduzione - OpenInventor. OpenInventor

SOMMARIO. Introduzione - OpenInventor. Introduzione - OpenInventor. OpenInventor OpenInventor SOMMARIO (riferimento: J. Wernecke, The Inventor Mentor Ed.: Addison-Wesley) Scene database e i scene graph Nodi Coin3D (riferimento: www.coin3d.org) Esempi Introduzione - OpenInventor OpenInventor

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

Grafica 3D Interattiva

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

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

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

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

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org Le ombre in OpenGl Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org Punto di partenza In OpenGl le luci non proiettano ombre 2 Perché si introducono

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

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

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

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software BDX 3D Editor è un programma che permette di navigare ed editare texture in un qualsiasi modello 3D.E compatibile con i software in grado di esportare

Dettagli

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D Informatica Grafica I Marco Gribaudo marcog@di.unito.it Animazioni 3D L'animazione 3D si basa sugli stessi principi dell'animazione tradizionale. Il filmato viene realizzato attraverso una sequenza di

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Trasformazioni 2D. Grande differenza rispetto alla grafica raster!

Trasformazioni 2D. Grande differenza rispetto alla grafica raster! Trasformazioni 2D Il grande vantaggio della grafica vettoriale è che le immagini vettoriali descrivono entità matematiche È immediato manipolare matematicamente tali entità In quasi tutte le manipolazioni

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Il foglio elettronico. Excel 2013 3 PARTE

Il foglio elettronico. Excel 2013 3 PARTE Il foglio elettronico Excel 2013 3 PARTE Versione 15/10/2013 Le tabelle PIVOT Tabelle PIVOT Le tabelle pivot sono tabelle interattive che consentono all'utente di raggruppare e riassumere grandi quantità

Dettagli

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource Forestello Luca - Niccoli Tommaso - Sistema Informativo Ambientale AT01 http://webgis.arpa.piemonte.it e-mail:

Dettagli

EDICOLA MANAGER 2.2. + EM Importer

EDICOLA MANAGER 2.2. + EM Importer EDICOLA MANAGER 2.2 + EM Importer Con la versione 2.2 del programma sono state introdotte numerose novità grazie anche alla collaborazione di colleghi che hanno messo a disposizione utility e documenti

Dettagli

Progetto INCOME. Manuale Utente Operatore Installazione

Progetto INCOME. Manuale Utente Operatore Installazione VERSIONI Manuale Utente Operatore Installazione Tosca-Mobile VERS. Motivo Modifiche Data Approvazione Approvatore 1.0 Prima emissione 02/12/11 1/21 Sommario SOMMARIO... 2 INTRODUZIONE... 3 1.1. CONTENUTI

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Il sistema operativo: interazione con l utente

Il sistema operativo: interazione con l utente interazione con l utente S.O fornisce un meccanismo per specificare le attività da eseguire (es. copiare un file) L interazione avviene mediante un linguaggio testuale (DOS) o grafico (Windows) linguaggio

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 Progetto ICoNLingua Scienza senza Frontiere CsF- Italia Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 1. Introduzione La valutazione sia in itinere

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

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

UML Diagrammi delle classi. UML Diagramma classi 1

UML Diagrammi delle classi. UML Diagramma classi 1 UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio

Dettagli

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7 ITIS Mattei Sondrio Appunti veloci su moodle versione 2.7 Generalità Moodle è una piattaforma web per pubblicare corsi, creare test, depositare dispense ecc. Ci sono vari tipi di utenti che usano moodle:

Dettagli

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014 LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero

Dettagli

Bookenberg non è un softwere ma una piattaforma online, quindi:

Bookenberg non è un softwere ma una piattaforma online, quindi: Tutorial le basi Bookenberg non è un softwere ma una piattaforma online, quindi: - non devi installare nulla sul tuo computer - vai sul sito, ti registri e sei operativo Nella sezione LIBRO usa l icona

Dettagli

Processo di rendering

Processo di rendering Processo di rendering Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione 2 Rendering nello spazio 2D Il processo di rendering (visualizzazione)

Dettagli

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1 Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ Versione 1.1 Autore Antonio Barbieri, antonio.barbieri@gmail.com Data inizio compilazione 11 maggio 2009 Data revisione 14 maggio 2009 Sommario

Dettagli

La rubrica degli indirizzi di posta elettronica associati al dominio scuole.piemonte.it

La rubrica degli indirizzi di posta elettronica associati al dominio scuole.piemonte.it Pag. 1 di 13 La rubrica degli indirizzi di posta elettronica associati al dominio 1 Pag. 2 di 13 Sommario 1 Scopo del documento... 3 2 Premessa... 3 3 Utilizzo della rubrica elettronica... 3 3.1 Criteri

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Introduzione a Classi e Oggetti

Introduzione a Classi e Oggetti Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Gestione Rapporti (Calcolo Aree)

Gestione Rapporti (Calcolo Aree) Gestione Rapporti (Calcolo Aree) L interfaccia dello strumento generale «Gestione Rapporti»...3 Accedere all interfaccia (toolbar)...3 Comandi associati alle icone della toolbar...4 La finestra di dialogo

Dettagli

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Workland CRM. Workland CRM Rel 2570 21/11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

Workland CRM. Workland CRM Rel 2570 21/11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX Attività Attività --> FIX In alcuni casi, in precedenza, sulla finestra trova attività non funzionava bene la gestione dei limiti tra date impostati tramite il menu a discesa (Oggi, Tutte, Ultima Settimana,

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

Dettagli

OpenSceneGraph & OSG4Web

OpenSceneGraph & OSG4Web OpenSceneGraph & OSG4Web Parte 1 OpenSceneGraph Introduzione alla creazione di una Applicazione 3D e OpenGL Basi di OpenSceneGraph Demo e prove pratiche Parte 2 Navigazione e Virtual Worlds su larga scala

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

Dettagli

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template. I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Dipendenza Associazione Sommario Relazioni

Dettagli

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Progetto a cura di Martino Michele Matricola: 0124000461 Miglio Stefano Matricola: 0124000462 Obiettivi Iniziali Si intende realizzare

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 11 Tipi astratti di dato e loro rappresentazione A. Miola Marzo 28 http://www.dia.uniroma3.it/~java/fondinf2/ ADT e Rappresentazione

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

COSTER. Import/Export su SWC701. SwcImportExport

COSTER. Import/Export su SWC701. SwcImportExport SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

Dettagli

Demo. La palette allinea. La palette Anteprima conversione trasparenza. Adobe Illustrator CS2

Demo. La palette allinea. La palette Anteprima conversione trasparenza. Adobe Illustrator CS2 Le Palette (parte prima) Come abbiamo accennato le Palette permettono di controllare e modificare il vostro lavoro. Le potete spostare e nascondere come spiegato nella prima lezione. Cominciamo a vedere

Dettagli

Introduzione. Installare EMAS Logo Generator

Introduzione. Installare EMAS Logo Generator EMAS Logo Generator Indice Introduzione... 3 Installare EMAS Logo Generator... 3 Disinstallare EMAS Logo Generator... 4 Schermata iniziale... 5 Creare il Logo... 7 Impostazioni... 7 Colore...8 Lingua del

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio

Dettagli

Trasformazioni nello spazio Grafica 3d

Trasformazioni nello spazio Grafica 3d Trasformazioni nello spazio Grafica 3d Giancarlo RINALDO rinaldo@dipmat.unime.it Dipartimento di Matematica Università di Messina Trasformazioni nello spaziografica 3d p. 1 Introduzione In questa lezione

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

GestVetrine 1.1 versione novembre 2014

GestVetrine 1.1 versione novembre 2014 GestVetrine 1.1 versione novembre 2014 0 GestVetrine 1.1 GestVetrine 1.0 Indice Indice pag.1 1. Finalità pag.2 2. Gestione screen pag.2 3. Come Accedere pag.3 4. Come Creare un negozio pag.4 5. Come Creare

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità

Dettagli