Dispersed Cloud Rendering
Bobretsov, Mikhail (2020)
Bobretsov, Mikhail
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020060917781
https://urn.fi/URN:NBN:fi:amk-2020060917781
Tiivistelmä
The main goal of this bachelor's thesis was to improve the existing solution of rendering the three-dimensional dispersed clouds for a flagship product developed at the commissioner company Observis Oy. The current solution shows the 2D flat layers of a three-dimensional cloud, where every layer is switched by a button. The thesis was aimed to creating the Electron web application with the Mapbox map system and an extra layer of 3D clouds on top of it. In this case, the cloud will be shown as a whole 3D object with no need to switch layers and lose attention to perform unwanted actions. It should have interaction capabilities like observing the cloud state in a different point of time and automatic cloud animation.
The project’s core development stack was Electron framework, React UI library and TypeScript programming language. The main visualization technologies were Mapbox for a map providing and deck.gl for rendering a three-dimensional point cloud layer. A special algorithm for processing multidimensional raw data was created. It prepared coming information to separated points of data with the exact geographical coordinate, material concentration value and calculated colour in multichannel mode. The interpolation technique was studied and implemented in practice. However, the Electron environment could not handle the interpolation workload and the whole codebase was migrated to a website environment with no rewriting code. A custom algorithm for interpolating cloud points was created, it successfully applied linear interpolation within three phases for three-dimensional clouds. The applied technique improved the visualization of clouds by generating more points between existing ones. It makes clouds to be denser and to look more realistic and appealing.
The resulting application delivered a new vision of the same data. Every dispersed cloud is represented as a set of thousands of coloured spheres all together forming the realistic cloud shape. Moreover, a unique user experience came true in observing cloud state for different time periods with manual hour slider and automatic animation.
The project’s core development stack was Electron framework, React UI library and TypeScript programming language. The main visualization technologies were Mapbox for a map providing and deck.gl for rendering a three-dimensional point cloud layer. A special algorithm for processing multidimensional raw data was created. It prepared coming information to separated points of data with the exact geographical coordinate, material concentration value and calculated colour in multichannel mode. The interpolation technique was studied and implemented in practice. However, the Electron environment could not handle the interpolation workload and the whole codebase was migrated to a website environment with no rewriting code. A custom algorithm for interpolating cloud points was created, it successfully applied linear interpolation within three phases for three-dimensional clouds. The applied technique improved the visualization of clouds by generating more points between existing ones. It makes clouds to be denser and to look more realistic and appealing.
The resulting application delivered a new vision of the same data. Every dispersed cloud is represented as a set of thousands of coloured spheres all together forming the realistic cloud shape. Moreover, a unique user experience came true in observing cloud state for different time periods with manual hour slider and automatic animation.