13 resultados para mesh: Synapses
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
L'algoritmo di semplificazione proposto in questa tesi agisce in modo iterativo su due livelli, in una prima fase alla mesh viene applicato un operatore di smoothing e alla mesh così elaborata viene poi applicata la decimazione. L'alternanza di questi due operatori permette di avere mesh semplificate che mantengono però una qualità maggiore rispetto al risultato che si avrebbe invece applicando solo la decimazione. A partire da una mesh ad alta risoluzione, ad ogni iterazione viene quindi creata una mesh con una risoluzione inferiore fino all'ultima iterazione che produce la mesh coarse (a bassa risoluzione) desiderata. Si viene quindi a creare una struttura di semplificazione multilivello, utile in molte applicazioni di computer graphics.
Resumo:
Viene sviluppata in XCSurf, un pacchetto di XCModel, una struttura dati chiamata B-Rep il cui scopo è quello di poter accogliere sia geometrie mesh che nurbs. La struttura B-Rep è stata progettata nel lavoro di tesi di F.Pelosi a seguito del riscontro di diverse analogie fra la struttura winged-edge (per mesh) e la struttura B-Rep (per nurbs). In questa tesi viene sviluppata ed integrata ulteriormente. Il punto di arrivo è la possibilità di attaccare due modelli qualsiasi (Nurbs + Nurbs, Mesh + Nurbs, Mesh + Mesh), deformando opportunamente le parti da attaccare, ma mantenendo tutte le informazioni in un'unica struttura.
Resumo:
L’idea da cui nasce questa tesi è quella di introdurre in Blender un Add-on in linguaggio Python che permetta di applicare alcune deformazioni di tipo surface-based a mesh poligonali. Questa tipologia di deformazioni rappresentano l’alternativa alle deformazioni di mesh poligonali tramite rigging ( cioè l’aggiunta di uno scheletro per controllare e per animare la mesh) e caging (cioè l’utilizzo di una struttura di controllo di tipo reticolare che propaga la sua deformazione su un oggetto in essa immerso), che di solito sono le prescelte in computer animation e in modellazione. Entrambe le deformazioni indicate sono già estremamente radicate in Blender, prova ne è il fatto che esiste più di un modificatore che le implementa, già integrato in codice nativo. Si introduce inizialmente la tecnica di deformazione di mesh poligonali tramite elasticità discreta, che è stata realizzata, quindi, presenteremo diverse metodologie di deformazione. Illustreremo poi come modellare, creare ed editare delle mesh in Blender. Non ci soffermeremo su dettagli puramente dettati dall’interfaccia utente, cercheremo invece di addentrarci nei concetti e nelle strutture teoriche, allo scopo di avere le basi logiche per definire una Add-on che risulti veramente efficace e utile all’interno del sistema di modellazione. Approfondiremo la struttura di due modificatori chiave per la deformazioni di mesh : Lattice Modifier e Mesh Deform Modifier che implementano una metodologia di tipo space-based. Infine ci concentreremo sulla parte di scripting Python in Blender. Daremo un’idea delle strutture dati, dei metodi e delle funzioni da utilizzare per interagire con l’ambiente circostante, con i singoli oggetti ed in particolare con le Mesh e daremo un esempio di script Python. Andremo infine a descrivere l’implementazione della deformazione elastica mediante add-on Python in Blender.
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:
Nella computer grafica, nell’ambito della modellazione geometrica, si fa uso delle operazioni booleane tra solidi per la manipolazione e la creazione di nuovi oggetti. Queste operazioni, quali unione, intersezione e differenza, vengono applicate alle superfici degli oggetti 3D esattamente come si fa su altri insiemi. In questo modo si riescono ad ottenere nuove forme complesse come combinazione delle altre, che sono in genere più semplici. Ciò che è stato realizzato in questo lavoro di tesi si colloca all’interno di un progetto preesistente, realizzato per consentire la manipolazione di modelli tridimensionali mediante l’utilizzo di operatori booleani: Mesh Glue. In questo lavoro, si è estesa la logica dell’applicazione degli operatori booleani, presente in Mesh Glue, per poter gestire anche scenari con mesh che presentano facce in tangenza. Inoltre, si è inserito Mesh Glue all’interno di un progetto più grande: Mesh Craft. Mesh Craft è un progetto che consiste in un ambiente di modellazione che utilizza come sistema di input il Leap Motion Controller, un dispositivo capace di identificare le dita di una mano e seguirne i movimenti con alta precisione.
Resumo:
In questo lavoro di tesi verrà presentata l’implementazione di due algoritmi di Deployment e gestione di uno sciame di dispositivi UAV (Unmanned Aerial Vehicles). L’interesse scientifico su cui si fonda quest'analisi ha origine nelle enormi potenzialità degli UAV che garantiscono un'esplorazione aerea di aree pericolose in contesti di emergenze quali ad esempio scenari post catastrofe. La problematica principale affrontata sarà quella della gestione continuativa dell'area disastrata fornendo un algoritmo di schedulazione della cooperazione degli UAV alternando periodi attivi con quelli di ricarica dei dispositivi.
Resumo:
Ultimamente si stanno sviluppando tecnologie per rendere più efficiente la virtualizzazione a livello di sistema operativo, tra cui si cita la suite Docker, che permette di gestire processi come se fossero macchine virtuali. Inoltre i meccanismi di clustering, come Kubernetes, permettono di collegare macchine multiple, farle comunicare tra loro e renderle assimilabili ad un server monolitico per l'utente esterno. Il connubio tra virtualizzazione a livello di sistema operativo e clustering permette di costruire server potenti quanto quelli monolitici ma più economici e possono adattarsi meglio alle richieste esterne. Data l'enorme mole di dati e di potenza di calcolo necessaria per gestire le comunicazioni e le interazioni tra utenti e servizi web, molte imprese non possono permettersi investimenti su un server proprietario e la sua manutenzione, perciò affittano le risorse necessarie che costituiscono il cosiddetto "cloud", cioè l'insieme di server che le aziende mettono a disposizione dei propri clienti. Il trasferimento dei servizi da macchina fisica a cloud ha modificato la visione che si ha dei servizi stessi, infatti non sono più visti come software monolitici ma come microservizi che interagiscono tra di loro. L'infrastruttura di comunicazione che permette ai microservizi di comunicare è chiamata service mesh e la sua suddivisione richiama la tecnologia SDN. È stato studiato il comportamento del software di service mesh Istio installato in un cluster Kubernetes. Sono state raccolte metriche su memoria occupata, CPU utilizzata, pacchetti trasmessi ed eventuali errori e infine latenza per confrontarle a quelle ottenute da un cluster su cui non è stato installato Istio. Lo studio dimostra che, in un cluster rivolto all'uso in produzione, la service mesh offerta da Istio fornisce molti strumenti per il controllo della rete a scapito di una richiesta leggermente più alta di risorse hardware.
Resumo:
Il seguente lavoro si propone come analisi degli operatori convoluzionali che caratterizzano le graph neural networks. ln particolare, la trattazione si divide in due parti, una teorica e una sperimentale. Nella parte teorica vengono innanzitutto introdotte le nozioni preliminari di mesh e convoluzione su mesh. In seguito vengono riportati i concetti base del geometric deep learning, quali le definizioni degli operatori convoluzionali e di pooling e unpooling. Un'attenzione particolare è stata data all'architettura Graph U-Net. La parte sperimentare riguarda l'applicazione delle reti neurali e l'analisi degli operatori convoluzionali applicati al denoising di superfici perturbate a causa di misurazioni imperfette effettuate da scanner 3D.
Resumo:
La crescente disponibilità di scanner 3D ha reso più semplice l’acquisizione di modelli 3D dall’ambiente. A causa delle inevitabili imperfezioni ed errori che possono avvenire durante la fase di scansione, i modelli acquisiti possono risultare a volte inutilizzabili ed affetti da rumore. Le tecniche di denoising hanno come obiettivo quello di rimuovere dalla superficie della mesh 3D scannerizzata i disturbi provocati dal rumore, ristabilendo le caratteristiche originali della superficie senza introdurre false informazioni. Per risolvere questo problema, un approccio innovativo è quello di utilizzare il Geometric Deep Learning per addestrare una Rete Neurale in maniera da renderla in grado di eseguire efficacemente il denoising di mesh. L’obiettivo di questa tesi è descrivere il Geometric Deep Learning nell’ambito del problema sotto esame.
Resumo:
The purpose of this thesis is to present the concept of simulation for automatic machines and how it might be used to test and debug software implemented for an automatic machine. The simulation is used to detect errors and allow corrections of the code before the machine has been built. Simulation permits testing different solutions and improving the software to get an optimized one. Additionally, simulation can be used to keep track of a machine after the installation in order to improve the production process during the machine’s life cycle. The central argument of this project is discussing the advantage of using virtual commissioning to test the implemented software in a virtual environment. Such an environment is getting benefit in avoiding potential damages as well as reduction of time to have the machine ready to work. Also, the use of virtual commissioning allows testing different solutions without high losses of time and money. Subsequently, an optimized solution could be found after testing different proposed solutions. The software implemented is based on the Object-Oriented Programming paradigm which implies different features such as encapsulation, modularity, and reusability of the code. Therefore, this way of programming helps to get simplified code that is easier to be understood and debugged as well as its high efficiency. Finally, different communication protocols are implemented in order to allow communication between the real plant and the simulation model. By the outcome that this communication provides, we might be able to gather all the necessary data for the simulation and the analysis, in real-time, of the production process in a way to improve it during the machine life cycle.
Resumo:
Il progetto è stato sviluppato con l’idea di creare una rete attraverso la quale imbarcazioni da diporto relativamente vicine (10km), si possano scambiare informazioni sullo stato del mare e della navigazione, anche in assenza di una connessione a internet. In tal modo i dati dell’imbarcazione, come temperatura esterna, temperatura dell’acqua, vento, coordinate gps, AIS ecc... verrebbero condivisi attraverso la rete. In questo progetto è stata sviluppata un'infrastruttura in grado di far comunicare imbarcazioni da diporto su bande non licenziate, utilizzando solo materiale OpenSource, in particolare un protocollo chiamato LoRaMesh. Tale infrastruttura, non basandosi su uno standard definito, ha la possibilità di adattarsi a qualsiasi tipo di dato. Tutto il progetto si basa su schede PyCom, ed è stato sviluppato del codice in grado di fornire uno scambio di dati costante e un’interfacci BLE per comunicare con più dispositivi possibili. Per fornire un’esempio di come ci si può connettere con il BLE è stata scritta un’app per IOS che fornisce varie funzionalità, tra cui la possibilità di inviare dati GPS, molto utile per l’esecuzione dei vari test. Sono state svolte varie prove, in diversi luoghi e condizioni, utili a capire la portata massima dei dispositivi, e come la rete mesh si adatta e ripara.
Resumo:
Nell'ambito della loro trasformazione digitale, molte organizzazioni stanno adottando nuove tecnologie per supportare lo sviluppo, l'implementazione e la gestione delle proprie architetture basate su microservizi negli ambienti cloud e tra i fornitori di cloud. In questo scenario, le service ed event mesh stanno emergendo come livelli infrastrutturali dinamici e configurabili che facilitano interazioni complesse e la gestione di applicazioni basate su microservizi e servizi cloud. L’obiettivo di questo lavoro è quello di analizzare soluzioni mesh open-source (istio, Linkerd, Apache EventMesh) dal punto di vista delle prestazioni, quando usate per gestire la comunicazione tra applicazioni a workflow basate su microservizi all’interno dell’ambiente cloud. A questo scopo è stato realizzato un sistema per eseguire il dislocamento di ognuno dei componenti all’interno di un cluster singolo e in un ambiente multi-cluster. La raccolta delle metriche e la loro sintesi è stata realizzata con un sistema personalizzato, compatibile con il formato dei dati di Prometheus. I test ci hanno permesso di valutare le prestazioni di ogni componente insieme alla sua efficacia. In generale, mentre si è potuta accertare la maturità delle implementazioni di service mesh testate, la soluzione di event mesh da noi usata è apparsa come una tecnologia ancora non matura, a causa di numerosi problemi di funzionamento.