last-voyage---make-your-own-star
Have you ever look into the deep sky in the middle of the night and wonder what the stars up above there are like? You will be able to see a magnificent visualization of the movements of real asteroids and planets on our website! Moreover, you are also able to design and depict the star of your choice by simply keying in a few parameters. Make a wish upon our website and make your dream come true!This project is solving the Visualize the Asteroid Skies challenge. Description
Backed by the asteroid data provided by NASA SBDB, Our website lets the user witness more than 8,000 near earth asteroids flowing through his/her desktop and allows the users to create their own. The users are also be able to create their own asteroid orbits by filling in a few parameters to see a vivid visualization of the orbit and motion of their own star, which is both an efficient tool for educating and aesthetically pleasing.
The joy of hackathons for me has been trying new things and learning from the experience. This is especially true for this hackathon. We started out wanting to do a lot of things, and we used technologies we never imagined we would use before. Although we ended up scraping a lot of the parts afterwards, the experience working with these tools is invaluable. For me, I had some first-hand experience with n-body simulation in Rebound, which at times was a tedious struggle, but it was also fascinating to see the results of simulation when it works. In order to make the simulator written in C work with our Python server, I had my first encounter with Ctypes, a python library for interacting with foreign libraries. I had stayed away from doing anything FFI before because how rage-inducingly bug-prone it could be, and I had my handful share of bugs from the dozens of hours I poured into it, but it was actually nicer to use than I originally thought. In the past two days, I went from knowing nothing about Ctypes to writing a non-trivial library with it, and this experience overthrew my preconceived notion about FFI. I learned that I didn’t have to force myself to write C in Python in order to use FFI, as the Ctypes library has abstracted away much of the busy work to make writing interface effortless and sometimes even delightful. I also learned that I could do without FFI by sending data through standard IO and parsing C struct with much simpler libraries. Overall, I have learned more about Python that I thought I ever would from this hackathon. Simple things could be fun, too, like when I worked on adapting Asterank, an asteroid tracking site to make an asteroid-collision-hell simulator. That the view of an asteroid sky made up of simple light dots can be so magnificent is mind blowing in and of itself. I have also stomached enough math in this hackathon that I’d like. So hooray!
Project Information
License: MIT license (MIT)
Source Code/Project URL: https://github.com/xkxx/last-voyage
Resources
MINOR PLANET CENTER ORBIT DATABASE (MPCORB) - http://www.minorplanetcenter.net/iau/MPCORB/MPCORB.DAT
Asterank - http://www.asterank.com/
Angular - https://angularjs.org/
Flask - http://flask.pocoo.org/
WebSocket - https://www.websocket.org/