Asteroid Curve is a tool that enables scientists and users to study and create an asteroid light curve by rendering the 3D model, manipulating object's position, light source, simulation and observing settings.
This project is a submission for the 2021 NASA Space Apps Challenge.
More information on our team's project, how to use the interface.
See requirements.txt
First make sure you should have git installed.
on terminal or cmd: Create or select path where Asteroid Curve repository will be installed:
$ mkdir AsteroidCurve
on Linux:
$ cd ~/AsteroidCurve
on MacO or Windows:
$ cd AsteroidCurve
clone the repository:
$ git clone https://github.com/jalalirs/asteroid_lightcurve.git
Linux:
$ mkdir ~/virtualenvs
$ virtualenv nameOfEnv
$ source nameOfEnv/bin/activate
$ cd ~\<PathOfInstalledRepository>
$ cd \asteroid_lightcurve-main
MacOs:
$ mkdir virtualenvs
$ virtualenv nameOfEnv
$ source nameOfEnv/bin/activate
cd \<PathOfInstalledRepository>
cd \asteroid_lightcurve-main
on Windows:
$ mkdir virtualenvs
$ cd \virtualenvs
$ python3 -m venv <Virtual Environment Name>
$ .\<Virtual Environment Folder Name>\Scripts\activate
$ cd \<PathToVirtualEnv>
$ .\venv\Scripts\activate.bat
$ cd \<PathOfInstalledRepository>
$ cd \asteroid_lightcurve-main
Using the requirements.txt
file this command will install all Python libraries that the project depends on.
$ pip install -r requirements.txt
Note: If you want to use the Inertial Stability feature, clone this two repositories; Mesh Reader:(https://github.com/p-hofmann/MeshReader.git), Voxlib: (https://github.com/p-hofmann/PyVoxelizer.git) into your environment.
Finally:
$ python AsteroidCurve.py
The asteroid 3D models provided by NASA are listed by default in this section along with simple objects to start with. Another option is loading existing 3D models in the user's device. note: the tool accepts .obj format only.
This feature enables the user to get all light curves observed and published in Asteroid Light Curve Photomerty Database by searching asteroid designations (ID) and choosing plots. This will allow the user to match the observed light curve with the simulated light curve in the next secion.