jo

High-Level Project Summary

In order to fulfill the requirements, the team developed a web-app which produces light curves from Earth's perspective for objects orbiting the sun. The app allows a user to select a model from a drop down menu, enter generic settings for the simulation including orbital period and the radius of orbit (using simplified, circular orbits) as well as the rotational speed of the model, and finally scaling settings for the simulation window. A simulation is produced and displayed. The light intensity from the object is calculated based on pixel brightness, and is made available for the user to plot and view at any point during the sim.

Link to Project "Demo"

Detailed Project Description

jo, put simply, produces light curves for selected models. When a user navigates to spacejo.co, they are presented with a number of options to adjust in order to alter input for the simulation. First the user must pick a model to observe. The current list includes a number of asteroid object models provided by NASA through the challenge resources page, as well as an astronaut model in order to demonstrate changes in the light curve between very distinct objects (and it's also humorous).


Once the user has selected the model they wish to view, they have the option to input observer and observee (Earth and the model, respectively) distance from the focus at the sun along with the orbital period. The default settings produce a simulation where the observer orbits the sun with the orbital period and distance of Earth, while observing asteroid 4468 Mithra at 2 AU but half the orbital period of Earth. The next setting is the rotational velocity of the selected model, which changes the model's angular rate of change about the y-axis.


Another setting available is the ability to scale the selected model up or down relative to the observer and the sun. The final two settings allow the user to scale the visualization windows that appear once the clicks "Run Simulation". Once the user clicks this button, the page is updated to show two views, one being the view of the selected model from the perspective of the observer, and another that is a "top down" view of the X-Z plane of the simulation, showing the sun as the focal point, and both objects orbiting it. On this page, the user is able to select "change settings" to return to the start and re-enter simulation settings, or they may click "Reload Light Curve graph" to re-populate the graph which plots light intensity over the number of frames. Light intensity is calculated as the pixel value of the model as seen from the observer. Each frame is 1/100 of an Earth day.


The benefits of jo are that it is easy to use and the simplified models allow for quick calculation and re-calculation. Overall, the team hopes that jo may be used as an educational tool for users to view how different objects and parameters affect the shape of the light curve produced. From there, one might be able to learn and guess the shape of unknown celestial bodies based on the observable light curve data.


jo's is built on Sveltekit, which is the javascript web framework we used to structure and design jo. We used THREE.js to run the simulation and 3d visualization. We also used Chart.js to create the scatterplot Light Curve visualization. Vercel was used to host and rebuild the website on each git push.

Space Agency Data

The models used in our project were taken from these websites:






  • https://nasa3d.arc.nasa.gov/models
  • https://echo.jpl.nasa.gov/asteroids/shapes/shapes.html

In total, our team used nine different asteroids models, as well as the MKIII spacesuit model, in order to demo our web-app.

Hackathon Journey

Space Apps 2021 is Team Sam Suck's first hackathon event competing together, however our namesake team member, Sam, had participated in a few in the past. The hackathon went rather smoothly due to our team's planning and task distribution. We took this opportunity to learn new tools such as THREE.js, Chart.js, and Svelte itself was a new experience for two of our team members. Our largest hurdle was an issue with loading object models into the simulation. This issue happened towards the end of our scheduled working time on the first day. Eventually, we worked out the issue over a somewhat scatter-brained discord call.


All in all our team had a great time and we are very proud of the work we've done.

References

Data used:





  • https://nasa3d.arc.nasa.gov/models
  • https://echo.jpl.nasa.gov/asteroids/shapes/shapes.html


Resources used:





  • Porkbun/GoDaddy/SpaceApps free domain offer
  • Github
  • Dicsord
  • Vercel


Tools used:





  • Javascript
  • Sveltekit
  • tailwind css
  • THREE.js
  • Chart.js

Tags

#software #webapp #simulation #space #asteroids #satellite #astronaut #jo #spacejo #SamSucks

Global Judging

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