58 resultados para XCSubd refactoring fltk librerie grafiche
Resumo:
Il Web nel corso della sua esistenza ha subito un mutamento dovuto in parte dalle richieste del mercato, ma soprattutto dall’evoluzione e la nascita costante delle numerose tecnologie coinvolte in esso. Si è passati da un’iniziale semplice diffusione di contenuti statici, ad una successiva collezione di siti web, dapprima con limitate presenze di dinamicità e interattività (a causa dei limiti tecnologici), ma successivamente poi evoluti alle attuali applicazioni web moderne che hanno colmato il gap con le applicazioni desktop, sia a livello tecnologico, che a livello di diffusione effettiva sul mercato. Tali applicazioni web moderne possono presentare un grado di complessità paragonabile in tutto e per tutto ai sistemi software desktop tradizionali; le tecnologie web hanno subito nel tempo un evoluzione legata ai cambiamenti del web stesso e tra le tecnologie più diffuse troviamo JavaScript, un linguaggio di scripting nato per dare dinamicità ai siti web che si ritrova tutt’ora ad essere utilizzato come linguaggio di programmazione di applicazioni altamente strutturate. Nel corso degli anni la comunità di sviluppo che ruota intorno a JavaScript ha prodotto numerose librerie al supporto del linguaggio dotando così gli sviluppatori di un linguaggio completo in grado di far realizzare applicazioni web avanzate. Le recenti evoluzioni dei motori javascript presenti nei browser hanno inoltre incrementato le prestazioni del linguaggio consacrandone la sua leadership nei confronti dei linguaggi concorrenti. Negli ultimi anni a causa della crescita della complessità delle applicazioni web, javascript è stato messo molto in discussione in quanto come linguaggio non offre le classiche astrazioni consolidate nel tempo per la programmazione altamente strutturata; per questo motivo sono nati linguaggi orientati alla programmazione ad oggetti per il web che si pongono come obiettivo la risoluzione di questo problema: tra questi si trovano linguaggi che hanno l’ambizione di soppiantare JavaScript come ad esempio Dart creato da Google, oppure altri che invece sfruttano JavaScript come linguaggio base al quale aggiungono le caratteristiche mancanti e, mediante il processo di compilazione, producono codice JavaScript puro compatibile con i motori JavaScript presenti nei browser. JavaScript storicamente fu introdotto come linguaggio sia per la programmazione client-side, che per la controparte server-side, ma per vari motivi (la forte concorrenza, basse performance, etc.) ebbe successo solo come linguaggio per la programmazione client; le recenti evoluzioni del linguaggio lo hanno però riportato in auge anche per la programmazione server-side, soprattutto per i miglioramenti delle performance, ma anche per la sua naturale predisposizione per la programmazione event-driven, paradigma alternativo al multi-threading per la programmazione concorrente. Un’applicazione web di elevata complessità al giorno d’oggi può quindi essere interamente sviluppata utilizzando il linguaggio JavaScript, acquisendone sia i suoi vantaggi che gli svantaggi; le nuove tecnologie introdotte ambiscono quindi a diventare la soluzione per i problemi presenti in JavaScript e di conseguenza si propongono come potenziali nuovi linguaggi completi per la programmazione web del futuro, anticipando anche le prossime evoluzioni delle tecnologie già esistenti preannunciate dagli enti standard della programmazione web, il W3C ed ECMAScript. In questa tesi saranno affrontate le tematiche appena introdotte confrontando tra loro le tecnologie in gioco con lo scopo di ottenere un’ampia panoramica delle soluzioni che uno sviluppatore web dovrà prendere in considerazione per realizzare un sistema di importanti dimensioni; in particolare sarà approfondito il linguaggio TypeScript proposto da Microsoft, il quale è nato in successione a Dart apparentemente con lo stesso scopo, ma grazie alla compatibilità con JavaScript e soprattutto con il vasto mondo di librerie legate ad esso nate in questi ultimi anni, si presenta nel mercato come tecnologia facile da apprendere per tutti gli sviluppatori che già da tempo hanno sviluppato abilità nella programmazione JavaScript.
Resumo:
Il contesto della tesi è quello dello sviluppo di applicazioni grafiche interattive. Si parlerà di come si implementano determinate tecniche per la progettazione di un videogioco basato su un motore grafico 3D. La tesi tratterà sia della teoria delle curve, cercando di spiegare come è possibile descrivere dei percorsi nel calcolatore, giustificando per quale motivo sono stati scelti determinati algoritmi, e sia di quali strumenti sono stati utilizzati per la creazione del videogame, soffermandosi sul funzionamento dell’engine (Unity3D) e fornendo informazioni sull’implementazione del codice. Non saranno escluse dalla tesi informazioni riguardanti lo sviluppo dell’idea e del lato artistico di un videogame.
Resumo:
La tesi descrive le fasi di progettazione e di sviluppo di un applicativo ERP, per la verifica degli adempimenti IVA nei vari periodi. Viene illustrato lo scopo del progetto realizzato, quindi, si parte con un'analisi preliminare dello stato del sistema su cui l'applicativo va ad integrarsi, dopodiché si analizza la fase di progettazione con le tecniche in uso, le motivazioni di talune scelte progettuali ed i pattern utilizzati e successivamente si focalizza l'attenzione sulle tecniche implementative e le librerie di riferimento. Infine si ilustrano i risultati ottenuto, le funzionalità introdotte ed i casi d'uso.
Resumo:
L’obiettivo della tesi è esplorare gli aspetti fondamentali che riguardano la programmazione asincrona, in particolare in JavaScript, analizzando le librerie e i metodi piu` diffusi per risolvere problemi tipici di asincronicità. Il motivo dello studio di JavaScript è il grande utilizzo di tale linguaggio per la costruzione delle moderne web-app. Per la realizzazione di questo elaborato si è partiti dallo studio dell’evoluzione del web, dal Web 1.0 al web 2.0 e dall’evoluzione delle web app in questo contesto, successivamente si è raffinata la ricerca allo studio più specifico di JavaScript e, di conseguenza, ai suoi costrutti ed ai suoi stili di programmazione, come la programmazione asincrona e la programmazione ad eventi.
Resumo:
Attraverso questo studio sono state indagate le proprietà di compositi laminati in fibra di carbonio (CFRP) nano-modificati con nanofibre in Nylon 6.6, in termini di resistenza al danneggiamento da impatti a bassa velocità (con caratterizzazione Drop Weight at Low Velocity) e di smorzamento della vibrazione (con caratterizzazione a damping). Sono stati indagate due configurazioni di nanorinforzo differenti, confrontate con le prestazioni di provini vergini laminati tradizionalmente. Sono infine state operate delle analisi grafiche delle micrografie di campioni sezionati per trarre conclusioni di carattere tecnologico.
Resumo:
Tesi riguardante la creazione di tutte le risorse grafiche necessarie ad un videogioco tridimensionale in prima persona con Blender e Unity3D. Gli argomenti trattati sono: prgettazione, 3D modeling, texturing e shading.
Resumo:
La trattazione di questa tesi ha lo scopo di fornire esempi di ontologie, nonché una panoramica sugli editor per la creazione e lo sviluppo di queste, evidenziandone pregi e difetti. Dopo un’introduzione generale al Web Semantico, tale documento fornisce dei tutorial, sempre affiancati da molteplici screenshot e da tutto il codice necessario, molto utili per “avventurarsi” nello sviluppo di ontologie. Le ontologie, per essere fruibili, devono essere pubblicate. Si è deciso pertanto di dare una descrizione dei principali vocabolari attualmente utilizzati nell’ambito del Web Semantico, così da dare un’idea al lettore dei diversi tipi di vocabolario presenti sul web. Infine è stato esaminato Jena: un framework per le applicazioni del Web Semantico sviluppate in Java. Anche in questo caso è stato creato un tutorial in cui tale framework è stato integrato in Eclipse. Vengono mostrati l’installazione delle librerie, l’importazione e l’interrogazione di un file RDF. Poiché per importare un file RDF il lettore deve averne uno, è stata colta l’occasione per fornire anche una guida utile alla creazione di un documento RDF, attraverso FOAF-a-Matic, un’applicazione Javascript che permette di creare una descrizione di se stessi in formato FOAF.
Resumo:
Implementazione mediante librerie MPI di un algoritmo genetico parallelo per risolvere il problema sulla k-colorabilità. La tesi descrive la versione sequenziale dell'algoritmo genetico di riferimento e l'implementazione della sua versione parallela. Vi è una fase di analisi dei risultati ottenuti dai test effettuati su una macchina ad architettura parallela.
Resumo:
Nel mondo Open Source, la libreria grafica OpenGL è oggi ampiamente utilizzata in svariati settori come l'animazione 2D/3D, la modellazione CAD o nello sviluppo di videogiochi. A causa dei suoi innumerevoli usi e dell'astrazione che OpenGL permette di ottenere su diversi ambienti grafici, lo sviluppatore - che la utilizza - è vincolato a cercare librerie di supporto al fine di sfruttarne al meglio le potenzialità. Questa tesi si configura su questi presupposti, presentando una libreria di selezione e editing di mesh 3D basata su OpenGL. La libreria, chiamata libEditMesh, sfrutta il meccanismo geometrico del RayPicking permettendo all'utilizzatore di identificare col mouse punti, facce e lati di solidi in scena. La tesi si articola sostanzialmente in due parti: nella prima vengono proposte alcune soluzioni ad-hoc sviluppate su applicazioni già esistenti nel panorama openSource, e non; nella seconda vengono esposti gli algoritmi e funzioni implementate in libEditMesh.
Resumo:
Il lavoro descrive il programma creato in ambiante Matlab per valutare l'efficienza di impianti a vapore, a gas e combinati tramite la creazione di interfacce grafiche partendo da un'analisi teorica dei cicli termodinamici e delle prestazioni di tali sistemi. Sono stati inoltre approfonditi i componenti più significativi degli impianti e spiegate le principali funzionalità e toolboxes di Matlab che sono state utilizzate per creare il codice.
Resumo:
Il presente lavoro di tesi è dedicato alla localizzazione verso il tedesco dei siti web di tre aziende metalmeccaniche della provincia di Forlì-Cesena. Il lavoro prevede, inoltre, la revisione in tedesco del sito internet della rete d'impresa di cui fanno parte le suddette aziende e la traduzione in tedesco del relativo company profile. Il primo capitolo del presente lavoro offre un'introduzione teorica agli argomenti che verranno trattati nello specifico nei capitoli seguenti; in particolare fornisce un'introduzione alla localizzazione, di cui verranno analizzati i concetti ad essa correlati, la storia ed infine l'applicazione ai siti web commerciali, con una particolare attenzione alla cultura e al simbolismo nei siti web. Nella prima parte del secondo capitolo si fornisce una panoramica dell'industria del settore metalmeccanico sia in Italia che in Germania, in termini di imprese ed addetti e di livelli di importazioni ed esportazioni in entrambi i Paesi. Infine, la seconda parte del capitolo prevede l'analisi dei siti web paralleli di alcune aziende tedesche del settore, riguardante le particolarità strutturali, linguistiche e grafiche dei siti in questione. Il terzo capitolo è dedicato al tema della qualità della traduzione e della revisione: la prima parte del capitolo riguarda l'analisi degli standard di qualità professionali, in riferimento alle norme riconosciute a livello internazionale sul tema; la seconda parte del capitolo verte sui criteri di qualità della traduzione; la parte centrale del capitolo riguarda il processo di revisione e, infine, l'ultima parte del capitolo sarà costituita dall'analisi e dalla revisione del sito web www.coneng.it. Nel corso del quarto capitolo viene proposta la localizzazione in tedesco dei siti web di tre aziende metalmeccaniche della provincia di Forlì-Cesena, ovvero l'azienda Meccanica 2000 (www.meccanica2000.com), l'azienda Mancini MecService (www.mancinimecservice.it) e l'azienda MPC - Meccanica di Precisione Cesenate (www.mpcmeccanica.it). L'ultimo capitolo del lavoro è, infine, dedicato all'analisi e alla traduzione in tedesco del company profile della rete di imprese di cui fanno parte le tre aziende per cui è stata realizzata la localizzazione dei siti web in tedesco.
Resumo:
Il presente elaborato è una proposta di traduzione del racconto «Legkie miry» [Mondi leggeri] della scrittrice contemporanea russa Tat’jana Tolstaja. Il racconto venne pubblicato sul sito della rivista «Snob» nel maggio 2013. Il libro di cui fa parte il racconto, invece, è stato presentato nelle maggiori librerie di Mosca e San Pietroburgo nel giugno 2014. «Legkie miry» esce dopo qualche anno dall’ultima pubblicazione dell’autrice e intende, in chiave ironica e non, mostrare la realtà americana degli anni Novanta vista con gli occhi di un’insegnante dell’epoca sovietica. Avventure dolceamare con la casa appena comprata, stanze magiche e mondi leggeri, molteplici sfaccettature di due studenti in particolare, operai che sistemano la casa, o fanno finta. Ma anche lunghi viaggi verso nord dell’America, per raggiungere il posto di lavoro, cantautori russi irrinunciabili compagni di viaggio, mirtilli raccolti e regalati, e l’appena percettibile nostalgia di casa, di Mosca.
Resumo:
L'obiettivo di questo elaborato è quindi quello di progettare e realizzare un editor grafico per la modellazione di oggetti tridimensionali, di consentire ad un utente di costruire scene complesse curandone il rendering. Il progetto è stato realizzato facendo uso del linguaggio C++ e degli strumenti messi a disposizione dalle librerie OpenGL
Resumo:
Realizzazione di un'app mobile interpiattaforma tramite phonegap che permette la geolocalizzazione di utenti di un gruppo. Connessione Client-Server attraverso Websocket. Librerie di Socket.IO e mappe di Google Maps.
Resumo:
Il Data Distribution Management (DDM) è un componente dello standard High Level Architecture. Il suo compito è quello di rilevare le sovrapposizioni tra update e subscription extent in modo efficiente. All'interno di questa tesi si discute la necessità di avere un framework e per quali motivi è stato implementato. Il testing di algoritmi per un confronto equo, librerie per facilitare la realizzazione di algoritmi, automatizzazione della fase di compilazione, sono motivi che sono stati fondamentali per iniziare la realizzazione framework. Il motivo portante è stato che esplorando articoli scientifici sul DDM e sui vari algoritmi si è notato che in ogni articolo si creavano dei dati appositi per fare dei test. L'obiettivo di questo framework è anche quello di riuscire a confrontare gli algoritmi con un insieme di dati coerente. Si è deciso di testare il framework sul Cloud per avere un confronto più affidabile tra esecuzioni di utenti diversi. Si sono presi in considerazione due dei servizi più utilizzati: Amazon AWS EC2 e Google App Engine. Sono stati mostrati i vantaggi e gli svantaggi dell'uno e dell'altro e il motivo per cui si è scelto di utilizzare Google App Engine. Si sono sviluppati quattro algoritmi: Brute Force, Binary Partition, Improved Sort, Interval Tree Matching. Sono stati svolti dei test sul tempo di esecuzione e sulla memoria di picco utilizzata. Dai risultati si evince che l'Interval Tree Matching e l'Improved Sort sono i più efficienti. Tutti i test sono stati svolti sulle versioni sequenziali degli algoritmi e che quindi ci può essere un riduzione nel tempo di esecuzione per l'algoritmo Interval Tree Matching.