Download Project Report

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
Transcript
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