Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Visualizing Space Explorations Kimberly Shannon - kshanno CMPS 161 – Winter 2012 Abstract Visualizations of real world events often suffer from an inability to preserve the context of the data. Scientific illustrations attempt to solve this problem by displaying data through drawings and symbols. This makes the data more communicable to the general public. This paper explores techniques and challenges in scientific visualization for the purpose of visualizing exploratory missions to outer space. 1. Introduction Scientific illustration is a blend of technical illustration and scientific visualization, "produced to conceptualize the unseen or recreate an object, process or phenomenon". Scientific illustration is perhaps the oldest of the scientific visualization techniques. One of the first well known uses of scientific illustration for extraterrestrial matters is Galileo Galilei's Sidereus Nuncius, published in 1610. It recorded Galileo's discoveries regarding the surface of the Moon, and moons of Jupiter. In modern times, scientific illustration has become a subclass of the broad field of scientific visualization. Advances in technology have lead to photography, video, computer graphics/animation, and even games to fall into the realm of mediums used to display scientific phenomenon. NASA has fostered this field through its Scientific Visualization Studio, which aims to facilitate understanding of the research done at NASA's Goddard Space Flight Center. This paper explores my attempt at improving upon past visualizations of space explorations by delving into the realm of interactive graphics. I employed Processing, a programming language and IDE that includes a wealth of graphical libraries. It is mostly based on Java, with elements of OpenGL in the graphical aspects. My interactive graphic allows users to select the range of data they wish to see based on certain parameters. This helps to avoid the common problem of occlusion in visualizations, while also allowing all relevant data to be accessible. 2. Related Works Despite the importance of scientific visualization, work regarding modern scientific illustrations is scant. Scientific illustration remains most common in the field of natural sciences. Visualizing topics in the natural sciences is often vastly different from visualization in the physical sciences. Natural science illustrations usually strive to display objects and phenomenon that are familiar to the public, while physical sciences must often visualize abstract concepts or data that is beyond the range of easy human comprehension, such as astrophysics. Due to this, many scientific illustrations of space explorations have used symbols and color to represent the majority of their data, and often suffered from attempting to show too much data at once. For example, one illustration that sparked the idea for this project is an overview of all space missions created by National Geographic. © National Geographic. Can be viewed in full at: http://books.nationalgeographic.com/map/map-day/index While beautiful at first glance, this graphic holds some glaring problems. The curving lines that represent the quantity of missions are colored. However, the color seems to hold no purpose- there is no legend to indicate what it means. One might assume that it represents the country of origin, but there's no way to tell who's who. Additionally, the interactive version of this graphic suffers from poor navigation. The only model of navigating the image is click-and drag, and the placement of planets is not intuitive. When zoomed out, for the majority of planets it is not clear which is which. I intended to improve upon this model of interaction and make it easier to locate information. The other illustration that sparked my interest in this topic is a visualization of missions to Mars made for IEEE's visualization publication. In contrast to the above graphic, this focuses on missions to a sole planet, allowing for more depth in the data presented. The addition of mission type, nation of origin, and year of launch are some of the most important information for promoting an understanding of the history of space explorations. As such, these are the main elements I wished to include in my own illustration. I wanted to improve upon only one element: How the mission type was displayed. The circles of varying color with a key are not optimal for easy understanding of the material, due to them symbolizing nothing except through their placement. The dashed circles and labeling of countries are both great ideas, however the addition of text often leads to clutter so I hoped to remove the need for it. 3. Technical Detail Taking the best of elements from both of the illustrations above, I pieced together my method of displaying data. I aimed to display missions by bundling together missions of the same type and end location. The quantity of missions would be represented by the thickness of a line extending from earth toward their shared destination. The end point of the line in combination with a symbol would indicate the mission type. Failures would stop abruptly in between earth and the destination, orbiters would stop at a drawn “orbital” ring around the planet, rovers and landers would end somewhere on the planet's surface. Flybys would arc around the planet entirely, fading out after they went past the planet. While I initially thought of (C)Bryan Christie doing the project in 3D, it quickly became apparent that it would increase the difficulty of the project twofold while decreasing the visibility of data. Needing to plot another dimension of data would have lead to another dimension in which I needed to avoid occlusion. Additionally, on the user end, the addition of perspective would complicate the use of line thickness to demonstrate quantity, as lines trailing into the distance would appear smaller than intended. This was a major factor in my use of Processing for this project. Ultimately, simple projects benefit from a simple platform, and Processing could do all I needed in 2D, but in fewer words than OpenGL. Looking over many records of space flight history, a few complications became apparent. The first problem was the presence of missions that were flybys of multiple planets. I didn't want to take the approach given by National Geographic and display all planets at once, as it would either lead to clutter or too much distance between the target planet and Earth for the data to still be easily interpreted. I decided to allow the user to flip between planets, and the flyby missions would be displayed once for every planet they passed by. It is far more important to know that a flyby of a planet happened at all, especially concerning planets where only flybys have happened, rather than preserve the order of visits. On a similar note, many later space missions were pioneered by multiple countries or organizations. Singular countries could easily be represented by a single color, but how to represent joint projects proved difficult. I originally considered switching off colors as the line was drawn, but this would have not been compatible with the bundling of missions with the same type and destination. I decided that much like the ability to flip through planets, the user would be able to filter which nation's missions to show, and that missions piloted by multiple would be listed in each of the contributor's mission total. This approach was also useful for categorizing missions. Many missions had multiple purposes, often serving first as an orbiter and then as a lander. Especially important was that many missions were not complete failures, as they succeeded in their earlier tasks before failing. I decided that partial failures would be listed once for each objective. Just because a mission failed in the long run does not mean it didn't return important data, and any mission which returned data is clearly a success. Given these decisions, I collected the countries, destinations, and types of all missions and entered them into a text file to be parsed by the program. The program reads the file line by line, parsing each line into multiple strings to be converted into a new instance of a class. However, the program first checks if that type/nation/destination combination exists, and if it does, it adds to the count variable of that mission. This is used for the bundling technique mentioned earlier. I created a class to represent each data category read in: planets, mission types, and countries of origin. Planets were by far the simplest, mostly comprising of a location, image, and radius and orbit distances. Having a class for planets made it significantly easier for the program to determine if a mission particle was within a certain distance of either the center or orbit. The mission class fared much more complex. Because it is based off of a particle engine, it included position, velocity, color, along with the nation, type, and planet identifiers. The draw particle function is called in the main program, which then draws the particle and calls the particle update function. The update function advances the position coordinates by the velocity, and then checks to see if the mission has reached its end point. If it has, it will stop the particle's movement and draw the symbol animation/graphic corresponding to the mission type. Lastly, the program calls the destroy particle function any time the current planet or nation is switched, ensuring that no clutter is left from the previous data viewed. This does not actually destroy the particle. It merely sets it back to its initial values, so that it can be redrawn properly if the data is accessed again. The last class included in my program encompasses the nations involved in the space race. For each nation, a flag is drawn at the bottom of the screen, allowing the user to click it to view the relevant data. Aside from holding the image and location, the nation class also has an array that holds the mission total for each planet. This is important so that any nations who have not launched any missions to a planet can have their graphic dimmed. This decreases confusion as to why no data may be displaying for a certain planet and nation. Furthermore, the currently selected nation has a border around the flag to indicate to the user what is currently being shown, because the colored method had to be scrapped. The portions of my code which control which of these class functions are called and when is all within the setup and draw methods. Setup and draw are structures built into Processing. Setup runs the code within it only once, right before draw runs. For this program, it loads image files and does other basics such as set window size and frame rate, and most importantly summons the file reading operations. The draw function is called in a loop that runs for as long as the program does. It firstly draws the flags then draws all planets and missions. It keeps track of if a different planet or nation was selected on the previous frame. This allows the program to refresh the background, thus removing all previously drawn missions, only when the nation or planet selected is switched. 4. Results Scientific illustration does not always show anything new about the data at hand, because its primary purpose is often for the communication of data that is already understood. This is mostly true for this program. However, one particularly interesting fact did strike me upon viewing the finished data visualization. The Soviet Union by far ranks as the entity with the highest number of failures, and highest number of mission launches in general. Never once did they launch a mission to any one of the outer planets, but they persevered in their attempt to explore Venus and the Moon. Also quite interesting was the lack of explorations to the far outer planets, namely Uranus and Neptune. Given how much we know about the planets, I had assumed we must have surely had a handful of missions to each. This isn't even close, as the sole mission for each is a flyby, both happening in very recent times. This also shows that the USA has the most breadth in space exploration, having explored all planetary bodies except for Pluto. In terms of this program's effectiveness at communicating data, it's hard to say without a decently sized user study. However, based on my goals and the outcome, I feel it has succeeded in the most important aspects. I did not get to include the specifics for each and every mission, nor their date of launch, but I still think this program illuminates a lot for those unfamiliar with the history of space exploration. What might be most striking is the pure quantity of mission failures Figure 1:Soviet Union missions to Venus in comparison to the number of mission successes for any one planet. It also tells a lot about who contributed to space explorations. The only modern country with Illustration 1: Soviet Union to Venus a large track record is missions the USA. Even countries that are considered powerhouses, such as China, have little to show on the space exploration front. I feel that in comparison to these historical facts, knowing the name and launch data of each individual mission is more of a piece of a trivia rather than an acquisition of significant knowledge. 5. Conclusion This program brought out a clash in my ability to visualize a solution and my ability to implement a solution. My original plan for showing the whole solar system at once and to have trails for each mission based on planetary gravity quickly fell out of hand as I realized I did not understand how to create a system with multiple forces of gravity. Luckily it became obvious that this was not the best choice for the user either, as it was too much data to easily take in. Furthermore, my goals would have possibly been better suited by an actual illustration. The amount of control I was looking for regarding placement of graphics as well as my original plan to display each mission individually would have fared better with a drawing tablet and Photoshop. While individually placing each mission by hand is tedious, so is programming the necessary movement mechanics. Handling color within the mission representations was also a problem in this aspect. The main aspect keeping this project as a program, aside from the class requirements, was the inclusion of interaction. I felt that as many improvements as I could have made using a drawing instead of a program, it still would have been too much to take in easily. A good illustration communicates its message with as few words as possible, in as little time as possible. The addition of a whole solar system of data in one image would have meant many minutes required to take in the whole picture, and even then it might not have been clear what the data was saying about our history of space exploration. By opting for only two modes of data navigation, the scroll wheel and clicking, I felt like a reached an improvement on the slow and limiting method of dragging an image to view the whole thing as seen in the National Geographic image referenced earlier. Another important lesson learned is that I should know my own biases. Because I collected the data for this program by hand, by the time I was displaying it I was entirely familiar with it. This made debugging easier, however it lead to not visualizing the missions types as well as I hoped. The categorizations of flyby, lander, rover, orbiter, and failure were clear in my head, and thus the symbols I made for each required little thought. Upon later pondering though, I realized it was not terribly obvious what they meant. I added small animations to hopefully clear up this problem. While I feel there is still much I could improve on for this project, the end result is certainly very good considering how much I was set back by the many revisions to my method of visualization. To make something that hasn't quite been done before was a challenge, but my interactive illustration of space explorations succeeds in providing a fresh look at the long history of the space race. 6. References Modern use of scientific visualization in the field of astrophysics: http://svs.gsfc.nasa.gov/ Categories of scientific visualization: http://www.nsf.gov/news/special_reports/scivis/categories.jsp History of scientific visualization: http://www.answers.com/topic/scientific-illustration Data displayed was referenced from a combination of the following: http://www.nsbri.org/humanphysspace/appendix/appendixa.html http://www.rocketmime.com/space/timeline.html http://en.wikipedia.org/wiki/Timeline_of_Solar_System_exploration http://www.spacechronology.com/ Code used from: http://wiki.processing.org/w/Wheel_mouse