High-Level Project Summary
Light curves are one of the few methods of studying celestial objects such as Trojan asteroids. We developed a tool that demonstrates how the light curve of a 3D object varies from different viewpoints as it rotates. The areas of the asteroid’s projection on the xy, yz, and zx planes are used as a 0th-order approximation of the light curve. Users can change the rotational axis of the asteroid, as well as its nutation axis, and see the effects on the light curve in real-time.
Link to Project "Demo"
Link to Final Project
Detailed Project Description
The simulation was developed with Python 3.8 and the VPython library.
- Import asteroid 3D models
- Reconstruct asteroid vertices and faces
- Define rotation and nutation axes
- Calculate projections for 0th-degree approximations for the light curve
- Display plot
Users can easily adjust the rotation and nutation axes and observe their effects on the light curve in real-time.
Space Agency Data
We used 3D asteroid models from the following sources:
Hackathon Journey
We chose this challenge as it was the most science-orientated challenge. Throughout this experience, we became more familiar with VPython, learning several of its limitations and some workarounds.
References
- Scherer, David, Paul Dubois, and Bruce Sherwood. “VPython: 3D interactive scientific graphics for students.” Computing in Science & Engineering 2.5 (2000): 56-62.
- https://echo.jpl.nasa.gov/asteroids/shapes/shapes.html
- https://nasa3d.arc.nasa.gov/search/asteroid/model
- https://ssd.jpl.nasa.gov/tools/sbdb_lookup.html
- https://en.wikipedia.org
Tags
#python #vpython #asteroids #lightcurves #3dmodeling
Global Judging
This project has been submitted for consideration during the Judging process.

