Introduzione a Java3D. Di Blasi Gianpiero - D.M.I. - Università di Catania
|
|
- Giorgia Bellucci
- 8 anni fa
- Visualizzazioni
Transcript
1 Introduzione a Java3D Di Blasi Gianpiero - D.M.I. - Università di Catania
2 L'evoluzione Hardware Le schede 3D producono oggi grafica interattiva paragonabile agli effetti speciali cinematografici Java è diventato uno standard di sviluppo Java3D è il punto di congiunzione dei due mondi
3 Addentriamoci in Java3D Java3D è una API grafica 3D di alto livello Impiega lo Scene Graph Programming Model Il programmatore decide solo cosa disegnare Java3D deciderà come disegnare Include le caratteristiche tipiche delle più popolari API grafiche (DirectX, OpenGL)
4 Cosa si può fare con Java3D? (1) Java3D permette di creare mondi virtuali con: luci e texture comportamenti ed animazioni suoni Inoltre le applicazioni Java3D si adattano automaticamente al dispositivo di output: un semplice monitor occhialini 3D CAVE (sistemi immersivi multi-schermo)
5 Cosa si può fare con Java3D? (2) Java3D supporta un ampio range di applicazioni: sistemi CAD/CAM visualizzazione scientifica/biomedicale data visualization simulazioni 3D ecommerce desktop 3D videogame Vediamo qualche esempio concreto...
6 SDRC I-DEAS Viewer Webscope
7 VisAD spreadsheet
8 INT J/View3Dpro
9 ISS SMP Control Console x Canadarm2
10 Maestro
11 ASENZA Nokia Mobile Phone Xtivia Reality Server
12 Nearlife Virtual FishTank
13 Il CAVE alla University of Calgary
14 Looking Glass
15 Java3D - obiettivi di design Una collaborazione tra SUN, SGI, Intel e Apple I principali obiettivi di design sono stati: integrazione con Java (core, portabilità) alte prestazioni e scalabilità supporto delle principali caratteristiche 3D (luce, shading, texture, ecc.) forza industriale (non solo applet 3D o poco più)
16 Vediamo una demo Looking Glass
17 Lezione 1 Hello Java3D
18 Costruzione di uno scene graph Un universo virtuale Java3D è creato tramite uno scene graph
19 Simboli di uno scene graph VirtualUniverse Relazione padre-figlio Locale Reference Group Leaf NodeComponent Altri oggetti
20 Un esempio più completo
21 SimpleUniverse
22 Alcune classi (1) Node è una superclasse astratta delle classi Group e Leaf definisce importanti metodi comuni alle sue sottoclassi le sottoclassi di Node costruiscono uno scene graph Group è la superclasse usata per specificare posizioni ed orientamenti degli oggetti nell'universo virtuale le più comuni sottoclassi sono BranchGroup e TransformGroup nello scene graph, i simboli di Group sono indicati con BG per BranchGroup e TG per TransformGroup
23 Alcune classi (2) Leaf è la superclasse usata per specificare forme, aspetti, suoni e comportamenti non possono avere figli, ma possono avere reference ad oggetti NodeComponent NodeComponent è la superclasse usata per specificare geometrie, aspetto, texture e materiale di un nodo Shape3D non sono parte dello scene graph, ma sono collegati ad esso tramite reference può essere collegato a più di un nodo Shape3D
24 Un po' di terminologia (1) Prima di passare al codice bisogna spiegare due termini di Java3D: live e compiled inserendo un branch graph in un Locale lo si rende vivo, insieme a tutti i sui figli gli oggetti vivi possono essere renderizzati ed i loro parametri non possono essere più modificati per rendere un parametro modificabile anche quando l'oggetto è vivo, la corrispondente capability deve essere impostata modificabile prima che l'oggetto diventi vivo
25 Un po' di terminologia (2) Un BranchGroup può essere compilato La compilazione di un BranchGroup converte l'oggetto e tutti i suoi figli in una forma più efficiente per il rendering Conviene sempre compilare un BranchGroup subito prima di renderlo vivo e solo se deve essere inserito nel Locale
26 Un po' di terminologia (3)
27 Finalmente codice! Esempio HelloJava3D_c1
28 Lezione 2 Forme ed aspetto
29 Le classi delle primitive geometriche Esistono tre modi per creare nuove geometrie: usare le classi di utility per box, coni, cilindri e sfere specificare le coordinate dei vertici per punti, linee e superfici usare i loader di geometrie
30 La classe Shape3D Un nodo Shape3D definisce un oggetto visuale Non contiene informazioni su forma o aspetto di un oggetto Questo compito è delegato al componente Geometry ed al componente Appearance
31 Le classi di utility per le geometrie (1) Le classi di utility per creare box, coni, cilindri e sfere forniscono una grande flessibilità nella definizione di forme geometriche semplici e possono essere usate in molti casi pratici Tali classi non definiscono il colore o l'aspetto di un oggetto tali informazioni derivano dal nodo Appearance senza un riferimento ad un nodo Appearance l'oggetto potrebbe non essere visualizzato o essere visualizzato bianco
32 Le classi di utility per le geometrie (2) Esempio ConeYoyoApp_a2
33 La classe Geometry Geometry è una superclasse astratta per la gestione delle geometrie
34 La classe GeometryArray Le sottoclassi di Geometry posso essere usate per specificare punti, linee e poligoni pieni (triangoli e quadrilateri) Queste primitive vertex-based sono sottoclassi della classe GeometryArray Come dice il nome stesso la classe GeometryArray conserva i suoi dati in degli array
35 Le sottoclassi di GeometryArray La figura mostra alcuni sottoclassi di GeometryArray esempi delle Notare che nessuno dei vertici è condiviso: ogni linea o poligono è renderizzato indipendentemente da ogni altro
36 Le sottoclassi di GeometryStripArray (1) La figura mostra alcuni esempi delle sottoclassi di GeometryStripArray Notare il diverso riutilizzo dei vertici che ogni classe mette in atto
37 Le sottoclassi di GeometryStripArray (2) Esempio ConeYoyoApp_b1
38 Aspetto ed attributi (1) Per descrivere l'aspetto di un oggetto è necessario utilizzare un oggetto Appearance Appearance non contiene le informazioni sull'aspetto di uno Shape3D, piuttosto sa dove trovare tali informazioni Un oggetto Appearance può referenziarsi a molteplici oggetti sottoclassi di NodeComponent (detti attributi ), dove sono memorizzate le informazioni sull'aspetto dello Shape3D
39 Aspetto ed attributi (2)
40 Aspetto ed attributi (3) Gli oggetti a cui può referenziarsi un Appearance sono molteplici, i principali sono: PointAttributes/LineAttributes PolygonAttributes ColoringAttributes/TransparencyAttributes RenderingAttributes/Material TextureAttributes/Texture/TexCoordGeneration Per ogni attributo esiste un impostare/recuperare il suo valore metodo per
41 La classe GeometryInfo (1) Creare mondi complessi un triangolo alla volta è terribilmente noioso Fortunatamente esistono una serie di metodo più facili per fare ciò La classe GeometryInfo è uno di questi metodi Invece di dover definire una geometria un triangolo alla volta la classe GeometryInfo permette di definire poligoni arbitrari Sarà lei (ed altre classi collaboratrici) ad occuparsi di convertire la geometria in triangoli
42 La classe GeometryInfo (2)
43 La classe GeometryInfo (3) La classe GeometryInfo fa uso di tre classi collaboratrici Triangulator: per la triangolazione dei poligoni Stripifier: per il raggruppamento dei triangoli in strip (migliora le performance) NormalGenerator: per la creazione delle superfici normali (per l'illuminazione)
44 La classe GeometryInfo (4) Esempio GeomInfoApp
45 Le classi Loader (1) Una classe Loader legge un modello da un file e ne crea la sua rappresentazione Java3D Il package com.sun.j3d.loaders fornisce gli strumenti per caricare contenuti 3D creati con altre applicazioni (3DStudio, Blender, ecc.) Poiché esistono moltissimi formati 3D (obj, vrml, 3ds, ecc.) e possono sempre esserne inventati di nuovi (per esempio X3D) Java3D mette a disposizione un'interfaccia generica per la creazione di caricatori di file
46 Le classi Loader (2) Esempio ObjLoad
47 Lezione 3 Interazione ed Animazione
48 Creare mondi vivi Per rendere un mondo Java3D più interessante ed utile bisogna aggiungere interazione ed animazione Si ha interazione quando il mondo cambia in risposta ad un'azione dell'utente Si ha animazione quando il mondo cambia senza un intervento diretto dell'utente (e solitamente corrisponde con il passare del tempo) In Java3D sia le animazioni sia le interazioni sono definite utilizzando la classe Behavior
49 La classe Behavior Scopo di un Behavior è modificare uno scene graph in risposta a qualche stimolo uno stimolo può essere la pressione di un tasto, un movimento del mouse, la collisione tra oggetti, il passare del tempo, ecc. I cambiamenti prodotti possono essere l'aggiunta e/o la rimozione di oggetti dallo scene graph, il cambiamento di attributi degli oggetti le possibilità sono limitate soltanto dalle capability degli oggetti stessi
50 Implementazione di un Behavior (1) Un Behavior personalizzato deve implementare i metodi initialize() e processstimulus() della classe astratta Behavior il metodo initialize() è invocato quando lo scene graph contenente il Behavior diventa vivo Esso è responsabile delle operazioni di inizializzazione del trigger degli eventi e dei valori iniziali del Behavior Il trigger è specificato come un WakeupCondition o una combinazione di WakeupCondition
51 Implementazione di un Behavior (2) Il metodo processstimulus() è invocato dal trigger quando si verifica la condizione specificata Poiché molteplici eventi posso essere inglobati in un singolo WakeupCondition, questo metodo si occupa anche della decodifica dell'evento processstimulus() è responsabile della risposta agli eventi ad esempio tutte le azioni da tastiera posso essere inglobate in un WakeupOnAWTEvent Solitamente questo metodo resetta anche il trigger
52 Le condizioni di wakeup (1) I Behavior vengono attivati non appena si verificano gli stimoli a cui devono rispondere Gli oggetti per definire gli stimoli sono le condizioni di wakeup definite nelle classi discendenti la classe WakeupCondition WakeupCondition è estesa da cinque classi: una è la classe WakeupCriterion le altre quattro permettono la composizione di condizioni di wakeup multiple
53 Le condizioni di wakeup (2)
54 Le condizioni di wakeup (3) Esempio SimpleBehaviorApp_a2
55 Le classi utility per la navigazione (1) Negli esempi finora esposti l'osservatore non aveva la possibilità di navigare Java3D permette ciò tramite delle classi di utility Il view branch graph di un universo virtuale contiene una view platform transform Se tale trasformazione cambia, l'effetto è quello di muovere e/o orientare l'osservatore Aggiungere la possibilità di navigare è semplice: basta aggiungere un Behavior che cambia la view platform transform in risposta agli eventi
56 Le classi utility per la navigazione (2)
57 Le classi utility per la navigazione (3) Esempio KeyNavigatorApp
58 Le classi utility per il mouse (1) Il package com.sun.j3d.utils.behaviors.mouse contiene i behavior per l'interazione con il mouse L'interazione tramite mouse prevede: traslazione (movimento su un piano parallelo all'image plate) zooming (movimento in avanti ed indietro) rotazione
59 Le classi utility per il mouse (2) Esempio MouseBehaviorApp
60 Le classi utility per il picking (1) Esistono due modi per usare il picking in Java3D: usare le classi utility creare una classe di picking personalizzata Il package del picking include le classi utility: PickRotateBehavior PickTranslateBehavior PickZoomBehavior Ogni classe usa un bottone del mouse diverso così da renderne possibile l'uso simultaneo
61 Le classi utility per il picking (2) Esempio MousePickApp_a1
62 Le animazioni in Java3D (1) Come l'interazione anche l'animazione in Java3D è implementata tramite i Behavior Teoricamente è possibile creare qualsiasi animazione personalizzata usando i Behavior, in ogni caso Java3D fornisce una serie di classi di utility dette interpolatori per le animazioni più comuni Ovviamente queste classi sono basate sui Behavior
63 Le animazioni in Java3D (2) Gli interpolatori sono classi per le animazioni: un oggetto Interpolator manipola alcuni parametri di uno scene graph per creare animazioni basate sul tempo Un altro insieme di animazioni servono ad animare gli oggetti visuali in risposta ai cambiamenti del punto di osservazione Questo insieme include le classi OrientedShape3D e LOD (Level of Detail) Billboard, La classe Morph si occupa invece di animare le geometrie
64 Gli Interpolatori e la classe Alpha Gli Interpolator sono Behavior personalizzati che usano un oggetto Alpha Le azioni degli Interpolator comprendono il cambiamento di posizione, orientamento, dimensione, colore e trasparenza di un oggetto Esistono Interpolator anche per altre azioni, incluse le combinazioni delle precedenti azioni
65 La classe Alpha (1) Un oggetto Alpha produce un valore, detto valore alpha, compreso tra zero ed uno, estremi inclusi il valore alpha cambia nel tempo in base ai parametri dell'oggetto stesso Fissati i parametri di Alpha ed un particolare istante di tempo, c'è un solo valore alpha che l'oggetto Alpha può produrre disegnando il valore di alpha nel tempo si può vedere il fronte d'onda che l'oggetto Alpha produce
66 La classe Alpha (2)
67 Le classi Interpolator (1)
68 Le classi Interpolator (2) Esempio ClockApp_a2
69 Lezione 4 Luci e texture
70 Le luci in Java3D (1) Molti degli esempi finora proposti davano la sensazione di finto Tale sensazione dall'assenza di luci è principalmente data è arrivato il momento di illuminare il nostro mondo Java3D illumina gli oggetti in base ad una combinazione delle proprietà degli oggetti Material e delle luci nell'universo virtuale
71 Le luci in Java3D (2) Esempio SimpleLightApp_b1
72 Le classi Light L'API Java3D fornisce quattro classi per le luci, ogni classe deriva dalla classe astratta Light La classe Light fornisce i metodi e le capability per manipolare lo stato, il colore ed i Bound di una luce Lo stato di una luce è un booleano che accende e spegne la luce stessa
73 La classe AmbientLight Una AmbientLight fornisce una luce della stessa intensità in tutte le posizioni ed in tutte le direzioni (limitatamente al suo Bound) Una AmbientLight modella la luce riflessa dagli altri oggetti se guardiamo sotto un tavolo vedremo la sua superficie inferiore anche se nessuna luce la illumina direttamente (a meno di avere una lampada sotto il tavolo) Una AmbientLight interagisce con il colore ambientale di un oggetto
74 La classe DirectionalLight Una DirectionalLight approssima sorgenti di luce molto distanti (ad esempio il sole) diversamente dalla AmbientLight, una DirectionalLight illumina solo in una direzione Poiché tutti i vettori di luce di una DirectionalLight sono paralleli, la luce non si attenua mai (la luce solare non si attenua) In altre parole, l'intensità di una DirectionalLight non varia al variare della distanza tra oggetto e DirectionalLight
75 La classe PointLight La PointLight è l'opposto della DirectionalLight Essa è una sorgente di luce puntuale che si diffonde in tutte le direzioni e la cui intensità diminuisce con la distanza (ad esempio una lampada) L'attenuazione di una PointLight è modellata da un'equazione quadratica concettualmente simile a quella della forza di gravità
76 La classe SpotLight (1) Una SpotLight è una sottoclasse di PointLight aggiunge il concetto di direzione e concentrazione ad una PointLight modella sorgenti di luce fatte dall'uomo come luci flash e riflettori emana una luce lungo una direzione ed all'interno di un angolo di visuale; all'interno di questo angolo l'intensità della luce varia in funzione dell'angolo e dalla distanza dal vertice
77 La classe SpotLight (2)
78 La classe Material Le proprietà materiali di un oggetto possono essere impostate tramite l'attributo Material l'oggetto Material specifica i colori (ambientale, diffuso, speculare ed emissivo) e la lucentezza di un oggetto I primi tre colori sono usati nel modello di illuminazione per calcolare le riflessioni Il colore emissivo permette ad un oggetto di emettere luce propria La lucentezza serve per le riflessioni speculari
79 Impostare i colori di un oggetto (1) Ci sono tre modi per impostare i colori di un oggetto: tramite il metodo setcolor() di Geometry tramite il ColoringAttributes tramite il Material Java3D permette di creare oggetti usando nessuno, alcuni o tutti e tre i modi appena visti
80 Impostare i colori di un oggetto (2) Colore di Geometry presente No Si No Si Colore di Geometry presente No Si No Si Illuminazione abilitata Colore di ColoringAttributes Risultato presente No Colore di Material No Colore di Geometry Si Colore di Material Si Colore di Geometry Illuminazione disabilitata Colore di ColoringAttributes Risultato presente No Bianco No Colore di Geometry Si Colore di ColoringAttributes Si Colore di Geometry
81 Le normali alle superfici Per illuminare un oggetto è necessario che esso stesso abbia definito le sue normali alle superfici quando si creano oggetti usando le Geometry bisogna usare uno dei metodi setnormal() per specificare le normali alle superfici Utilizzando un oggetto GeometryInfo è possibile utilizzare la classe NormalGenerator per ottenere in automatico le normali le primitive geometriche generano in automatico le normali (se specificato nel costruttore)
82 Texturing concetti base (1) In Java3D il texturing di poligoni è ottenuto: creando un Appearance caricando una texture specificando le posizione della texture sulla geometria impostando gli attributi di texturing A causa dell'estrema flessibilità del modello di texturing di Java3D, il numero di opzioni che l'api mette a disposizione potrebbe a prima vista confondere le idee In realtà il texturing non è particolarmente complesso
83 Texturing concetti base (2) Esempio SimpleTextureApp_a2
84 Generazione automatica delle coordinate (1) Assegnare le coordinate delle texture per ogni vertice della geometria è un passo necessario e complicato Le coordinate delle texture sono spesso calcolate con codice specifico per ogni oggetto Sarebbe meglio avere un sistema automatico: questo è proprio quello che tenta di fare la classe TexCoordGeneration
85 Generazione automatica delle coordinate (2) Per generare automaticamente le coordinate delle texture bisogna specificare alcuni parametri in un oggetto TexCoordGeneration Le coordinate delle texture sono calcolate a runtime in base ai parametri specificati I parametri da specificare sono: formato delle texture (2D o 3D), modalità di generazione (lineare o sferica)
86 Generazione automatica delle coordinate (3) Esempio TexCoordGenApp
87 Cosa non abbiamo Fatto? Approfondimenti sui vari argomenti esposti Collisioni Dispositivi di input Viste multiple Suono E tanto altro ancora...
88 Riferimenti vari Documentazione Java3D Tutorial Java3D
89 Libri A.E. Walsh, D. Gehringer Java3D API Jump-Start Prentice Hall PTR D. Selman Java3D Programming Manning Publications Company H. Sowizral, K. Rushforth, M. Deering The Java 3D API Specification Addison-Wesley Professional K. Brown, D. Petersen Ready-to-Run Java 3D, with plug-and-play code John Wiley & Sons Inc J. Barrilleaux 3D User Interfaces with Java 3D Manning Publications Company
90 Introduzione a Java3D Di Blasi Gianpiero - D.M.I. - Università di Catania
Java3D. Lezione 0. Introduzione. Di Blasi Gianpiero - D.M.I. - Università di Catania
Java3D Lezione 0 Introduzione Di Blasi Gianpiero - D.M.I. - Università di Catania L'evoluzione Hardware Le schede 3D producono oggi grafica interattiva paragonabile agli effetti speciali cinematografici
DettagliJava3D. Lezione 0. Introduzione. Di Blasi Gianpiero - D.M.I. - Università di Catania
Java3D Lezione 0 Introduzione Di Blasi Gianpiero - D.M.I. - Università di Catania L'evoluzione Hardware Le schede 3D producono oggi grafica interattiva paragonabile agli effetti speciali cinematografici
DettagliDi Blasi Gianpiero - D.M.I. - Università di Catania. Lezione 6. Luci
Di Blasi Gianpiero - D.M.I. - Università di Catania Java3D Lezione 6 Luci Cosa impareremo oggi? Il modello di illuminazione di Java3D Come creare luci Come fare interagire gli oggetti visuali con le luci
DettagliSOMMARIO. 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
DettagliComputer 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
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliDatabase. 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
DettagliGrafica 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.
DettagliIL MIO PRIMO SITO: NEWS
Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliOpenSceneGraph & 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
DettagliE possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools
Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati
DettagliSistemi 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
DettagliMECCANISMI 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
DettagliCome 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
DettagliProgettazione : 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
DettagliIl calendario di Windows Vista
Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative
DettagliColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter?
ColorSplitter La separazione automatica dei colori di Colibri.. ColorSplitter è una nuova funzionalità aggiunta a Colibri, che permette di elaborare un immagine trasformandola in una separata in canali
DettagliGuida 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
DettagliTutorial 3DRoom. 3DRoom
Il presente paragrafo tratta il rilievo di interni ed esterni eseguito con. L utilizzo del software è molto semplice ed immediato. Dopo aver fatto uno schizzo del vano si passa all inserimento delle diagonali
DettagliRegione 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
Dettagli3D e Realtà Virtuale
3D e Realtà Virtuale Modello 3D La costruzione di un modello 3D, così come la realizzazione di un plastico tradizionale, necessita di grande precisione e attenzione conoscitiva. Tale modello convoglia
DettagliIntroduzione a 3ds Max
3 Capitolo 1 Introduzione a 3ds Max 3ds Max è ad oggi uno dei più diffusi e dei più potenti software per la creazione di rendering tridimensionali in qualsiasi ambito, dall architettura al design, dalla
DettagliBDX 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
DettagliObject Oriented Software Design
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliSoluzione 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
DettagliModulo 4: Ereditarietà, interfacce e clonazione
Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo
DettagliGUIDA ALLE SOLUZIONI
Con l installazione automatica dei driver ormai questa procedura non dovrebbe più servire, in quanto fa riferimento alla disinstallazione dei driver dopo aver effettuato questi in modalità manuale. Comunque
DettagliMon 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
DettagliJava 3D. Creazione di immagini Visualizzazione ed animazione Applicazioni di grafica interattiva 3D. Introduction to Java3D 1
Java 3D Java 3D è una estensione standard di Java 2 jdk (development kit) E costituita da una gerarchia di classi utili nella creazione di universi virtuali Fornisce classi per Creazione di immagini Visualizzazione
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
Dettaglia b c Figura 1 Generatori ideali di tensione
Generatori di tensione e di corrente 1. La tensione ideale e generatori di corrente Un generatore ideale è quel dispositivo (bipolo) che fornisce una quantità di energia praticamente infinita (generatore
DettagliManuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
DettagliObject 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
Dettagli12 - 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,
DettagliProva 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
DettagliFunzioni 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
Dettagliflusso delle informazioni... 2 password... 3 password/2... 3 inserimento di una nuova richiesta... 4 le condizioni di vendita... 6
istruzioni per l inserimento di una richiesta on line di prodotti speciali flusso delle informazioni... 2 password... 3 password/2... 3 inserimento di una nuova richiesta... 4 le condizioni di vendita...
DettagliMon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici
Prerequisiti Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici L opzione Multimagazzino è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione L opzione Multimagazzino
DettagliMANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliLezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi
La grafica 3D ed il WEB Lezione 20: La grafica 3D ed il WEB Lo sviluppo che ha avuto Internet negli ultimi anni e' principalmente dovuto al WWW. Uno dei punto di forza del WWW e' la possibilita' di distribuire
DettagliPointCloud 7.0 Anno 2011
PointCloud 7.0 Anno 2011 Compatibilità con AutoCAD 2007-2012 ed AutoCAD 2007-2012 Supporto del formato nativo delle nuvole di punti di AutoCAD (PCG) e miglioramento delle performance riguardo la velocità
DettagliProgetto: 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
DettagliPULSANTI 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
DettagliProgettaz. 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
Dettagli5. Fondamenti di navigazione e ricerca di informazioni sul Web
5. Fondamenti di navigazione e ricerca di informazioni sul Web EIPASS Junior SCUOLA PRIMARIA Pagina 43 di 47 In questo modulo sono trattati gli argomenti principali dell universo di Internet, con particolare
DettagliDaz Studio tutorial IV parte. Luci e Ombre
Daz Studio tutorial IV parte Luci e Ombre Fino ad ora, abbiamo lavorato senza introdurre alcuna fonte di illuminazione nelle nostre immagini. Per quanto riguarda le luci, ci sono in questo caso due modi
DettagliSimulazione traffico urbano
Simulazione traffico urbano Si richiede di simulare il movimento del traffico in un ipotetico tratto di strada che viene percorso da delle automobili e che dei pedoni devono attraversare. La situazione
DettagliAndroid. Implementare una interfaccia utente
Android Implementare una interfaccia utente Introduzione In questa lezione vedremo come implementare una interfaccia utente sullo schermo di Android. Vedremo gli elementi di base visualizzabili sullo schermo
DettagliPer 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
DettagliL interfaccia utente di Office 2010
L interfaccia utente di Office 2010 Personalizza la barra multifunzione Pagine: 3 di 4 Autore: Alessandra Salvaggio - Tratto da: Office 2010 la tua prima guida - Edizioni FAG Milano Ridurre la barra multifunzione
DettagliDropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).
Dropbox di classe Lo scopo del servizio Dropbox di classe è quello di far conoscere ai docenti del nostro istituto il funzionamento di un sistema di Cloud Storage, pronto e facile da usare, per esplorare
Dettagliper immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1
Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella
DettagliINFORMATIVA SUI COOKIE
INFORMATIVA SUI COOKIE La presente Informativa sui cookie descrive l'utilizzo di cookie e altre tecnologie simili all'interno del siti web del Gruppo api, per raccogliere in modo automatico una serie di
DettagliProcesso 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)
Dettaglilo 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,
DettagliInterazione luce - materia
Interazione luce - materia 1 Modelli di illuminazione Il modello di illuminazione descrive l interazione tra la luce e gli oggetti della scena Descrive i fattori che determinano il colore di un punto della
DettagliGHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.
*+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti
DettagliInformatica per la comunicazione" - lezione 7 -
Informatica per la comunicazione - lezione 7 - Campionamento La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento.! Il campionamento
DettagliGestione 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
Dettagli3DE Modeling Professional
3DE Modeling Professional 3DE Modeling Professional è la parte di 3DE Modeling Suite che si occupa della modellazione 3D automatica di oggetti ed edifici a partire da nuvole di punti ottenute con scanner
DettagliTitolare del trattamento dei dati innanzi descritto è tsnpalombara.it
Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliConfigurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith
Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................
DettagliRiccardo 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
DettagliIndice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
DettagliWorkland 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,
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliGuida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua
Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua Moodle è la piattaforma didattica per l'e-learning utilizzata dall'istituto Giua per consentire ai docenti di creare
DettagliIdentificare le classi in un sistema
3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo
DettagliHR - Sicurezza. Parma 17/12/2015
HR - Sicurezza Parma 17/12/2015 FG Software Produce software gestionale da più di 10 anni Opera nel mondo del software qualità da 15 anni Sviluppa i propri software con un motore completamente proprietario
DettagliGeneral Linear Model. Esercizio
Esercizio General Linear Model Una delle molteplici applicazioni del General Linear Model è la Trend Surface Analysis. Questa tecnica cerca di individuare, in un modello di superficie, quale tendenza segue
Dettagli1 -Introduzione MODULO L1
(A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Login Logout Desktop Account Sessione di lavoro Processo Applicazione Multitasking WYSIWYG File (B) CONOSCENZA E COMPETENZA
DettagliIntroduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma
Introduzione Macro macro istruzione Sequenza di comandi memorizzati programma Scopo: eseguire più volte una sequenza di operazioni che a mano sarebbero noiose e ripetitive, se non proibitive Le macro Le
DettagliProiezioni Grafica 3d
Proiezioni Grafica 3d Giancarlo RINALDO rinaldo@dipmat.unime.it Dipartimento di Matematica Università di Messina ProiezioniGrafica 3d p. 1 Introduzione Il processo di visualizzazione in 3D è intrinsecamente
DettagliCREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS
CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu
DettagliInvio SMS. DM Board ICS Invio SMS
Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove
DettagliIl controllo della visualizzazione
Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli
Dettagliistruzioni per l uso 1. Che cos è Google Earth
istruzioni per l uso 1. Che cos è Google Earth Google Earth è un software che permette una navigazione virtuale della Terra. Il programma deve essere installato sul proprio computer e, per poterlo utilizzare
DettagliEsercitazione 1 primi passi e uso dei file
primi passi e uso dei file 1 Sistemi operativi per PC I sistemi operativi per personal computer più diffusi sono: Windows (Microsoft) Linux (freeware) MacOS (Apple) Il laboratorio verterà su Windows 2
DettagliBrochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8
Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare
Dettagli2 - Modifica. 2.1 - Annulla. 2.2 - Selezione finestra. S.C.S. - survey CAD system FIGURA 2.1
2 - Modifica FIGURA 2.1 Il menu a tendina Modifica contiene il gruppo di comandi relativi alla selezione delle entità del disegno, alla gestione dei layer, alla gestione delle proprietà delle varie entità
DettagliDefinire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};
ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca
DettagliVRay Map: VRayEdgesTex
VRay Map: VRayEdgesTex INTRODUZIONE Uno dei classici impieghi della VRayEdgeTex consiste nella simulazione dell effetto filo di ferro, effetto simile a quello generato tramite l attivazione dell opzione
DettagliJava3D. Lezione 3. Creazione delle geometrie 2. Di Blasi Gianpiero - D.M.I. - Università di Catania
Di Blasi Gianpiero - D.M.I. - Università di Catania Java3D Lezione 3 Creazione delle geometrie 2 Cosa impareremo oggi? Usare la GeometryInfo per specificare geometrie con poligoni arbitrari Usare le classi
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliGuida all uso delle Web View su ios
Guida all uso delle Web View su ios Tesina per il corso di Programmazione di Sistemi Mobile Lorenzo Pellegrini Matricola: 0000653299 Cosa sono le Web View? Le web view sono componenti grafiche, integrabili
DettagliSOMMARIO... 3 INTRODUZIONE...
Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...
DettagliLE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE
LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare
DettagliEXPLOit Content Management Data Base per documenti SGML/XML
EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per
DettagliManuale 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
DettagliPowerPoint 2007 Le funzioni
PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere
DettagliBiblioteca di Cervia NOZIONI BASE DI INFORMATICA
Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende
DettagliBook 2. Conoscere i contenuti digitali. Saper riconoscere diversi tipi di contenuti digitali
Book 2 Conoscere i contenuti digitali Saper riconoscere diversi tipi di contenuti digitali Centro Servizi Regionale Pane e Internet Redazione a cura di Roger Ottani, Grazia Guermandi, Sara Latte Luglio
DettagliLa progettazione dell interfaccia HCI. Fabio Vitali
La progettazione dell interfaccia La progettazione Alla base della progettazione di buone interfacce c è il prestito intelligente. E molto meglio scegliere le buone idee di altra gente piuttosto che ideare
DettagliFIRESHOP.NET. Gestione della distinta base & della produzione. www.firesoft.it
FIRESHOP.NET Gestione della distinta base & della produzione www.firesoft.it Sommario SOMMARIO Introduzione... 3 Definire la distinta base di un articolo... 5 Utilizzare la distinta base diretta... 8 Utilizzare
Dettagli2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.
2010 Ing. Punzenberger COPA-DATA Srl Tutti i diritti riservati. Tutti i diritti riservati la distribuzione e la copia - indifferentemente dal metodo - può essere consentita esclusivamente dalla dittacopa-data.
DettagliInsegnare con il blog. Materiale tratto da:
Insegnare con il blog Materiale tratto da: Weblog La parola "blog" nasce dalla contrazione del termine anglosassone "weblog" che, letteralmente, significa "traccia nella rete". Il blog infatti rappresenta
DettagliSettaggio 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