Google Summer of Code 2015 – Week Zero: My Project Proposal

So I am almost done with my college exams. They were getting in the way, and I am now relieved that I can start devoting all my time to my project with KDE. In this post I intend to briefly describe what my project is all about.

I am going to be adding ‘Constellation Art’ unto the sky map in KStars. This project is precisely what I have been looking for, a perfect blend of astronomy and coding – the best of both worlds!

KStars is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time. The display includes up to 100 million stars, 13,000 deep-sky objects,all 8 planets, the Sun and Moon, and thousands of comets, asteroids, supernovae, and satellites. For students and teachers, it supports adjustable simulation speeds in order to view phenomena that happen over long timescales, the KStars Astrocalculator to predict conjunctions, and many common astronomical calculations.

For the amateur astronomer, it provides an observation planner, a sky calendar tool, an FOV editor to calculate field of view of equipment and display them, the “What’s up Tonight” tool, altitude vs. time graphs for any object, high-quality sky charts for printing, and access to lots of information and resources to help you explore the universe! Included with KStars is Ekos astrophotography suite, a complete astrophotography solution that can control all INDI devices including numerous telescopes, CCDs, DSLRs, focusers, filters, and a lot more.

So what is my project all about?

Presently, this is how the sky map in KStars looks from New Delhi, India. (My current location is Pilani, and Pilani is not one of the ‘preset’ locations available in KStars for obvious reasons! Pilani is in the middle of nowhere!)

kstars new delhiAnd this is how it would look like (some what) after I complete my project in the next 3 months. The image below is what Stellarium looks like currently.

stellariumAbstract of the project:

The basic idea is to implement a class ConstellationArt, which will take care of all the sky cultures. Various instances of this class would represent different sky cultures. This class will take all the data stored in SQLite DB files named as name_constellationart.db (for example western_constellationart.db or indian_constellationart.db), which will contain different fields for each constellation. Every constellation image would have 3 important stars whose coordinates will be marked off and used by ConstellationArt. Hence if for some reason, certain constellation images are not available, and that they need to be drawn from scratch, then it will help if the three significant stars are used as a ‘grid’ to do the drawing on so that the artwork is oriented correctly. The class ConstellationArt would have various properties to control how sky cultures appear on the sky map. For instance the sky cultures will fade in and fade out, which will be controlled by a Q_PROPERTY artFadeTime and artIntensity as defined in the class declaration below. There would also be seasonal rules for visibility of constellations. Later on, new constellation artwork would be made available for download using the KNewStuff framework.

The technical details of the project maybe reserved for a future post.

Next up: I will add my blog to Planet KDE, the KDE blog aggregator!