Summer of Code in Space 2013
Ideas for the SOCIS 2013 (ESA Summer of Code in Space).
All of these tasks require knowledge of C/C++, as Stellarium is written in it, and some knowledge of the Qt framework (or willingness to learn the basics very quickly), because Stellarium relies heavily on it, especially for its GUI.
You should also become familiar with Stellarium's merge proposal review guideline, which outlines how your code will be reviewed before it's merged in Stellarium's code.
For each task that looks interesting to you:
- Understand it - read the description and try to imagine what is required
- Research it - if the description is unclear, you can ask for clarification and/or do some research and come up with your own ideas. Also, look at how Stellarium works with similar tasks
- Sketch it - Check out Stellarium's code and build it (there are instructions on this wiki), look at what can be used and what needs to be done to implement your idea, how it will come together with the rest of Stellarium
- All of this should prepare you to write a good proposal.
Meteor shower calendar
Brief explanation: At the moment, Stellarium can show meteors, but they are simply decorative - they appear at random points at a rate set by the user. The existing code of the MeteorMgr class can be used as a base for a plug-in that shows more or less scientifically accurate meteor showers. They are not random - the meteors appear to "stream" from a single point in the celestial sphere, the radiant.
The data behind the rendering can be organized in two different forms:
- Strong form: Keeps a meteor shower catalogue in JSON format as with the other kinds of objects tracked by Stellarium, and shows only what should be in the sky for the given date. The catalogue should contain information about the radiant and the annual changes in the zenith hourly rate (as meteor showers typically have a peak and are active some time before and after that; a distribution function can do).
- Very strong form: Use a professional model for predicting meteor showers, based on the orbits of the clouds of space particles that cause them.
Data about visual meteor showers can be found on the website of the International Meteor Organization (e.g. calendar for 2011) or the Meteor Data Center. Attribution and/or copyright issues should be cleared before using the data!
It would be nice to have an improvement in the quality of the graphics, but the main point of this project is the support for a catalog of multiple meteor showers.
In all cases, the feature should meet the following requirements:
- It should display a list of the meteor showers in the catalog
- It should allow individual showers to be enabled/disabled
- It should allow individual showers to be triggered on a whim. (Perhaps by jumping to the day of the peak? By setting radiant/ZHR, for example for demonstrations of historic showers?)
- It should allow the user to toggle a marker showing the radiant(s). (Note that the radiants are not exactly point objects.)
- It should model the drift of the radiant across the sky over time.
- It should model the increasing/decreasing ZHR of each shower over time.
- Some support for random "background" meteors would be nice to remain.
Knowledge Prerequisite: OpenGL, Geometry, Basic Astronomy.
Mentor: Alexander Wolf (IRC: alexwolf)
- IRC channel: #stellarium on Freenode
- Mailing list: email@example.com (See https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel for details)