asteroids.explore()

High-Level Project Summary

Our project allows users to explore how the shape of different 3D objects influences their light curves. We believe that educational resources should be accessible to everybody and space exploration shouldn’t only be reserved for scientists and billionaires. The space is vast and we may not be able to actually see the asteroids with our own eyes but through simulations and analytical modelling, a wide range of users can study them from the comforts of their homes. And this is not the only potential use of our project: by allowing people to load any model they want we can accumulate a large set of data that may help deduce the shapes of deep space asteroids from only their light curves.

Detailed Project Description

Our project allows users to load a 3D model of their choosing, pick the plane of the spectator and the axis of rotation and after some computation get the light curve in question. We apply the Lambertian reflectance model to every visible polygon of the surface and add up all of their brightness; we do this for every step of the rotation of the model, normalize, which means we divide every piece of data by its maximum value, the data and display it as a very pretty graph. 


The benefits include but are not limited to: being user-friendly, being cross-platform, giving researchers from all over the world access to the simulated data via a convenient interface, being fully customizable and modifiable.

We used the Python programming language and PyCharm and Visual Studio Code IDE to develop our project. It relies on numpy-stl and vtkplotlib, and the final solution comes in the form of a Jupyter Notebook file. We decided to host it on GitHub, to offer users a unified experience, as with any other scientific tool. Thus, our project contributes to the open-source astronomical modelling software field.

Space Agency Data

  • 3D models of asteroids from NASA’s repository to test and troubleshoot our mathematical model and code. (Models | 3D Resources) were used to fine-tune and test the accuracy of our mathematical model.
  • Information about light curves from NASA’s website. (Light Curve Analysis) was used to learn more about the nature of light curves of celestial bodies.

Hackathon Journey

The objects inhabiting the depths of space are unreachable and hard to analyze, trying to get to know them has been at the forefront of human aspirations for centuries, that’s why we picked “When Light Curves Throw Us Curve Balls” as our challenge. This hackathon has been a first for some of us but we all managed to come together as a team to face the abundance of challenges our project presented. We learned some new things about asteroids and their light curves, how to use lambda functions, got acquainted with functional programming, learned how to make a simple interface in Jupyter Notebook and how to perform effectively in a team. 

Each of us has brought a unique perspective to the solution. The main setbacks we faced were the ones to do with the accurate modelling of the process: we couldn’t agree on the correct formula, but after some discussions, we came to a consensus; other issues were pretty standard for a programming project: bugs and trying not to break anything further while fixing them.

The work started with the development of the mathematical model, at the same time the other part of our team worked on extracting the needed data from mesh files; after that came the process of fine-tuning, debugging etc. 

We are pleased with the result of our project. However, we already have some ideas on how to improve it in the future. We are planning to make our project independent of external libraries and improve the user experience. Moreover, our project has the potential to become an open-source collection of Jupiter Notebook files each of which allows space exploration via modelling of some physical process (e.g. trajectories of binary stars).

We'd like to thank our mentors Katerina Aheyeva and Olexander Butkalyuk who helped us define the objectives of our project and gave us constructive criticism.

We’d also like to thank the lovely people at KPI Vezha who let us work here on a Sunday and Masha the cat who accompanied us. 

References

Tags

#asteroids

Global Judging

This project has been submitted for consideration during the Judging process.