Exoviewer an Interactive Visualization of Extrasolar Planets and Small Solar System Bodies
Total Page:16
File Type:pdf, Size:1020Kb
ExoViewer An Interactive Visualization of Extrasolar Planets and Small Solar System Bodies Master Thesis 29 February 2016 by Pascal Forny, Cham ZG, 10-756-120 Supervisors: Visualization and MultiMedia Lab Prof. Dr. Renato Pajarola Department of Informatics Matthias Thony¨ University of Zurich Abstract A recent trend in astronomy is the hunt for a second life sustaining planet in the cosmos. This research generates a lot of data of celestial bodies, so-called extrasolar planets or exoplanets, which is visualized here. Concepts for the adequate representation of the discovered objects are developed and implemented as an interactive computer application called ExoViewer. Apart from planetary bodies, the program illustrates Asteroids and Comets present in our Solar System. The challenge of rendering this huge amount of data in an appropriate manner is faced as a second part of the work. Results, which are frames rendered using described techniques and methods, show that visualizing uncertain or missing data is a big issue and the focus of a user can quickly get distracted by displaying too many things. Additionally, measurements of the performance of the application illustrate that calculating positions of bodies in space are costly operations and culling strategies are crucial to obtain a smooth running program. ii Abstract in German Neuste Entwicklungen in der Astronomie verstarken¨ die Bemuhungen,¨ neben der Erde einen anderen bewohnten Planeten im Universum zu finden. Diese Forschungsaktivitat¨ fuhrt¨ dazu, dass sehr viele sogenannte Exoplaneten entdeckt werden. Die vorliegende Arbeit prasentiert¨ Konzepte, woraus ein interaktives Computerprogramm mit dem Namen ExoViewer erstellt wird, welches diese Entdeckungen visualisiert. Daneben liegt ein zweiter Fokus auf der Darstellung einer grossen Anzahl an Asteroiden und Kometen in unserem Sonnensystem. Das Resultat dieser Arbeit sind generierte Bilder, welche aus den angewendeten Techniken hervorgehen und zeigen, dass die Visualisierung von inkompletten oder mit Unsicherheit behafteten Datensatzen¨ eine Heraus- forderung darstellt. Sie implizieren, dass beim Rendering von vielen Objekten Auswahlen, Priorisierungen oder durchdachte Darstellungsmethoden eingesetzt werden mussen.¨ Des Weiteren zeigt eine Performanzanalyse, dass Positionsberechnungen aufwandig¨ und die Anzahl ausgeloster¨ Zeichnungsvorgange¨ kritisch fur¨ die benotigte¨ Zeit pro Bild sind. iii Contents Abstract ii 1 Introduction 1 1.1 Initial Situation . .1 1.2 Goal . .2 1.3 Outline . .2 2 Related Work 3 2.1 Fundamentals in Astronomy . .3 2.1.1 Small Body Object . .3 2.1.2 Exoplanet . .3 2.1.3 Habitable Zone . .6 2.1.4 Distances . .7 2.2 Databases . .8 2.2.1 Open Exoplanet Catalogue . .9 2.2.2 JPL Small-Body Database . .9 2.2.3 The Solar System . 10 2.3 Astronomical Visualization . 10 2.3.1 Challenges . 10 2.3.2 Existing Tools for Visualizing Celestial Bodies . 10 2.4 Implementation Specific Aspects . 11 3 Theory 12 3.1 Particular Visualization Aspects . 12 3.1.1 Exoplanetary Systems . 12 3.1.2 Small Body Objects . 13 3.2 Location of Bodies in Space . 13 3.2.1 Modelling of Positions . 14 3.2.2 Intrasystem Movement . 15 3.3 Numerical Precision Aspects . 17 3.4 Acceleration Data Structures . 18 3.4.1 View Frustum Culling . 19 3.4.2 Distance Culling . 19 4 Implementation 20 4.1 Architecture . 20 4.1.1 ExoViewer Package . 20 4.1.2 GlobeEngine Package . 21 4.1.3 geAstro Package . 21 4.2 Use Cases . 22 4.3 Data Model . 22 4.3.1 Data Sources . 23 4.3.2 Data Import . 24 iv Contents 4.4 Graphics Pipeline . 24 4.4.1 Deferred Rendering Pipeline . 25 4.4.2 Rendering Data Structures . 26 4.4.3 Qt . 28 4.5 User Experience . 28 4.5.1 Interaction Overview . 28 4.5.2 Parametrization . 30 4.5.3 Seeing the Essentials . 33 4.5.4 UI Design Trade-offs . 33 5 Results 35 5.1 Exoplanetary Systems . 36 5.2 Small Body Objects . 37 5.3 Measurements . 38 5.3.1 Application Initialization . 38 5.3.2 Running Application . 39 6 Discussion 46 6.1 Exoplanetary Systems . 46 6.2 Solar System . 46 6.3 Performance . 47 7 Future Work 48 7.1 Implementation . 48 v 1 Introduction The outer space has always had a special and mystical attraction towards human kind. Documentations of first astronomical observations reach back to thousands of years before Christ. Later, high cultures as they existed in Egypt, Greece, or Rome initiated the era of astronomy as a science. However, with the acquisition of knowledge, the curiosity never decreased. Nowadays, a lot of effort is made to learn more about astronomical phenomena. Special institutions like the National Aeronautics and Space Administration of the United States of America (NASA) have been founded which consume a significant amount of the federal budget. So the motivation to invest and discover more in this field is a constant in history. In contrast, the style of research drastically changed over time. Nowadays, having technical resources, e.g. computers or telescopes, available like never before, there are methods and branches of research which get increasingly intensive on the data level. One of these recent developments is the focus in finding extraterrestrial life. Novel instruments made it possible to detect planets outside of our Solar System. At the present day, around 2,000 of these so-called exoplanets are known and their data is available to the public. Being a very popular field of research, this number is increasing at a very frequent basis. In parallel, our Solar System has been examined further, such that the known planets, dwarf planets, moons, and small body objects become more and more. This incredible amount of data, summed up currently slightly more than 700,000 objects, is hardly comprehensible as a whole by looking at tables and numbers. That is exactly where the data visualization comes into play. Interactive visual exploration of high-dimensional data sets can help to gain more insights than statistical analyses [Goo12]. Using an input of a visualization, the human brain is more capable to identify patterns or irregularities than with pure numerical figures. In general, visualization systems face many challenges in terms of computer graphics, when it comes to preci- sion and navigation. This aspect is particularly pronounced in astronomical visualization, where the dimensions of data cover a range unlike in any other field. Large scale visualization is important when all small body objects in our Solar System are considered and scalable algorithms for visualization are needed. Another frequent issue is the information visualization. The question posed here is how to translate numbers or strings into in image representing them. This is a hard problem to solve, especially when having only imprecise data or even no data at all, as it is the case with some exoplanets. 1.1 Initial Situation This thesis is the follow-up project of a bachelor’s thesis, published in 2015 by Matthias Noetzli with the title ’Solar System Viewer’ [Not15].¨ The subject of this work was a parallel 3D visualization of the Solar System. Based on this project as a starting point, the ExoViewer is an extension thereof. Subsequently, some main aspects of the Solar System Viewer are described briefly. In this predecessor project, an interactive visualization of the Sun, the planets and most of the known moons in the Solar System was developed. It allows to navigate though the stellar system, and select and focus on an arbitrary body. Numerical information about bodies can also be viewed. As a single data source serves a hand- made locally stored file. A big part of this project was the parallelization of the application, such that the rendering is done in a multi-screen environment. 1 1 Introduction 1.2 Goal The target of this skilled work is to extend the Solar System Viewer to a large scale visualization system for Exoplanets and their hosting systems, as well as small body objects in the Solar System. The viewer itself will give the opportunity to navigate through 3D space and explore an exoplanet database. In addition it will be possible to view the numerical and textual information of each exoplanet within the application. In more detail, the initial task description speaks about an application to be developed fulfilling the following criteria: • Define a concept and requirements to extend the currently available software package to visualize exoplan- etary systems from NASA’s Kepler project and the NASA/JPL Small Body Object Database. • The viewer should allow to navigate between stellar systems in a seamless manner and should allow zoom- ing between a single planet and the survey of the Milky Way. • It should be possible to visualize gravitational field changes within a stellar system with a simple grid like structure. • The viewer should allow the selection of objects and shows currently available information about planets, stars and small body objects. This can be achieved over a Web API of the above mentioned databases. • The application development process will be with C++, OpenGL, and Qt. 1.3 Outline This work is structured in four main chapters, comprising the related work, the theory, the implementation, and the results. After having introduced to this thesis, an overview of relevant related work is presented in chapter 2 including aspects of astronomy, of existing databases, as well as of visualization techniques and projects. Subsequently, the important and interesting facets of the theory the developed prototype is based on, are treated in chapter 3. This part is meant to be concise because either a lot of principles are already described in the previous chapter or the theories are not really revolutionizing. The section 3.1 offers an overview of the non-technical concepts and ideas which found the developed application. They may help to understand some design and implementation decisions.