Project 2 - Straight Away to Orion

Due Monday 10/21 at 8:59pm Chicago time

The purpose of this project is to give you experience using high-resolution large format display to view small multiples. In this case we will be looking at the ever-increasing number of exoplanets that have been discovered. You will also be learning something about astronomy.

For this project you will use OmegaLib and the CAVE2 to show data on the current set of planets outside our solar system that have been discovered. We will show information about various systems on the walls as a form of small multiples and show one or more systems in the center of the cave in detail.

Scale is always a huge issue when dealing with astronomical bodies since its usually impossible to show everything in scale - typically you can either show distances between objects in scale, or the size of various objects in scale, but not both at the same time. The different types of stars also have very different habitable zones, and we have discovered an extremely wide range of planetary distances from their star. We also have binary, trinary, etc star systems.

Some good sources of information:

You should start with our solar system with its single star and 8 major planets. One of the small multiples on the sides of the CAVE should always show our solar system for comparison with the others, and our solar system should always be available to view in the center of the CAVE for comparison. The sun and the various planets should be modeled as spheres with appropriate textures. For the small multiple version you should be able to see the name of the system, the type of star, how far this system is away from us, how the planets were discovered, the distance from the star to each of the planets, the identifying name of the planet, the relative sizes of the planets, and the location of the habitable zone for that star. Within the CAVE you should have the planets with their identifying name orbiting the named star at an appropriate distance, with an appropriate relative size and texture, and orbiting at an appropriate rate, and show the habitable zone for the star. You should allow the user to change the scale of the orbits, the scale of the planets, and the speed that time passes as the planets orbit.

The system should be head and hand tracked. As the user walks around the CAVE, the solar system in the CAVE should update appropriately while the small multiples on the walls of the CAVE stay where they are. Users should be able to point at one of the solar systems shown on the walls using the wand and bring it into the CAVE.

You should not be building the various solar systems one by one by hand. Given the data on the various planets of each solar system you should be able to automatically generate a visualization for each one. However, as you add more and more systems to your visualization you will see more and more oddities where you will need to tweak your visualization so it is useful. For the other planets you will need to find some appropriate textures - a good place to start is You need to show the different kinds of stars in some appropriate way.

You will also find that the different detection methods give different information about these planets, so some assumptions need to be made to combine the datasets. Sometimes we know the radius and sometimes we know the mass. Unfortunately without knowing the composition of the planet we can not directly correlate these, but we can do some general correlations. One such way is given below. There are others. Pick and defend an appropriate method.

Another issue is how to compute the habitable zone. There are multiple theories on this as well, e.g. and It would be best to base this off the luminosity of the star, but we can get some general information from the type of the star:
Note that you are expected to learn some astronomy as part of this assignment. You will need to do research to complete this project.

Here is a snapshot of the proof of concept app that I wrote in omegalib for this assignment showing 64 small multiples on the walls of the CAVE and one exo-planetary system in the center of the CAVE. This should give you an idea of the way the app could be realized, but there are things that I would do better if I was writing it again.

The code for this example is given here

To get a C on the project ...

To get a B you need to add ...

To get an A you need to add ...

Also note that there is a big difference between getting something working and getting it working well. The first is not that hard. The second takes much more time. You are expected to have things working well.

I highly recommend visualizing a variety of data into your application quickly, beyond our solar system, to start seeing the real issues you will be encountering in creating a good interactive visualization environment.

To turn in your project you should set up a web page with several pages describing your work, including the well-commented source code and required files to be able run your program in the cave, and some photographs showing what your application looks like when its running. You should then email andy with the location of this website before the deadline. It  would probably be a good idea to put a backup copy of the web page at a second website just in case I can't get to the first one.

These webpages should include:

all of which should have plenty of screenshots with meaningful captions.

Be sure to document any external libraries or tools that you make use of - give credit where credit is due.

You should also create a 2-3 minute YouTube video in the CAVE showing your application running and feature the video prominently on your project webpage. The video should be narrated and rehearsed to show off the important features of your project.

Remember that this site may be useful to you later on when you are looking for a job and want to show off the projects you have done.

When you send andy the location of your webpage you should also email a scaled down version of your favorite photo that is 320 pixels wide by 240 pixels tall in jpg format named p2.<your_last_name>.jpg. This image will be used on the class web pages along with the link to your project web page.

Each student will also give a short demonstration about your project in-class and answer some questions about your work. Be sure to practice your presentation so you finish within the allotted time so everyone has equal time to present.

last revision 9/23/13