All Projects → jasmeet0915 → S.T.A.R

jasmeet0915 / S.T.A.R

Licence: other
Satellite Trajectory Animating & Rendering: Satellite Orbit Visualiser using Blender

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to S.T.A.R

3dn-bip
A Python library for Blender addons. Blazingly fast preview loads in Blender. Images of arbitrary size. bpy.utils.previews drop-in replacement.
Stars: ✭ 41 (+41.38%)
Mutual labels:  blender3d, blender
interactive-physics-editor
Simplifies the process of positioning multiple objects in 3D space with collision handling
Stars: ✭ 20 (-31.03%)
Mutual labels:  blender3d, blender
sverchok-extra
Extra nodes for Sverchok
Stars: ✭ 51 (+75.86%)
Mutual labels:  blender3d, blender
sintelgame
An open source adventure game created with Blender
Stars: ✭ 81 (+179.31%)
Mutual labels:  blender3d, blender
blender-mqo
Blender Add-on: Metasequoia File Importer/Exporter
Stars: ✭ 27 (-6.9%)
Mutual labels:  blender3d, blender
Blender-Add-on-Manager
Blender Add-on Manager to install/uninstall/update from GitHub
Stars: ✭ 130 (+348.28%)
Mutual labels:  blender3d, blender
MindMapper
Blender Python - Node-based multi-line text and image flowchart
Stars: ✭ 58 (+100%)
Mutual labels:  blender3d, blender
VF-BlenderAutoSaveRender
Automatically saves a numbered or dated image after every render and can extend the Blender output path with dynamic variables
Stars: ✭ 34 (+17.24%)
Mutual labels:  blender3d, blender
NS-illustration-pack
Package of 3D low poly illustrations created in a Blender
Stars: ✭ 28 (-3.45%)
Mutual labels:  blender3d, blender
PieMenusPlus
Pie Menus Plus is a complete Pie Menu ecosystem for Blender 2.8+
Stars: ✭ 26 (-10.34%)
Mutual labels:  blender3d, blender
kaleidoscope
🍀 A small collection of creative nodes to generate color palette and store values for Blender
Stars: ✭ 99 (+241.38%)
Mutual labels:  blender3d, blender
Jaks Blender Scripts
Various Python Scripts for Blender
Stars: ✭ 26 (-10.34%)
Mutual labels:  blender3d, blender
glTF-Blender-IO-materials-variants
Blender3D addon for glTF KHR_materials_variants extension
Stars: ✭ 56 (+93.1%)
Mutual labels:  blender3d, blender
medieval-assets
A modular medieval game asset pack in Blender
Stars: ✭ 25 (-13.79%)
Mutual labels:  blender3d, blender
FireVR
Blender to JanusVR FireBoxHTML Exporter Addon (with IPFS support)
Stars: ✭ 25 (-13.79%)
Mutual labels:  blender3d, blender
gmic-blender
Official G'MIC plugin for Blender3D - pre-pre-alpha
Stars: ✭ 34 (+17.24%)
Mutual labels:  blender3d, blender
render
A simple web service that renders a Blender 3D scene with custom text.
Stars: ✭ 27 (-6.9%)
Mutual labels:  blender
blender-xatlas
Xatlas Packer Addon for Blender
Stars: ✭ 55 (+89.66%)
Mutual labels:  blender
spacestation
A procedural spacestation generator
Stars: ✭ 22 (-24.14%)
Mutual labels:  blender
Blender Interactive Motion Path
No description or website provided.
Stars: ✭ 40 (+37.93%)
Mutual labels:  blender

S.T.A.R

Satellite Trajectory Animating & Rendering: Satellite Orbit Visualiser using Blender

This project shows how you can create cool looking yet 'Scientifically Correct Orbital Simulations' for any satellite you want using Blender and Python.

Project Video: https://www.youtube.com/watch?v=Pl94gpMpK6M

IAlt text

Two Line Element (TLE) Set

Orbit Prediction for any Earth-orbiting object is done using the Classical/Keplerian Orbital Elements. The orbital elements associated with an Earth-orbiting object generally comprise of six elements which describes the shape, size and orientation of its orbit.

A generalized data format known as the Two Line Element (TLE) Set is used to keep track of the orbital elements of individual satellites and are used by Organizations to keep track of the satellites and debris in space. TLE data for any satellite can be taken from this website.

How it Works

  1. Create a model of the Earth in a new blender file using a UV sphere and applying the given texture to it. If you want to make the Holographic Earth shown above, follow this video.
  2. Animate the rotation of the earth model to rotate about the z axis 360 degrees in 2 mins using keyframes.
  3. Create a satellite model, which in this case was just another UV sphere with emission shader applied to it. Then create a particle system which refers to the satellite object with the following settings:
    1. Set the number of the particles equal to the number of satellites.
    2. Set gravity equal to 0 and change the lifetime to span across the complete animation. This ensures all the particles stay in the frame.
    3. Check the disk cache option in the cache section of the Particles and Bake the simulation to get the particle cache files saved in your project folder. These particle cache files will be later overwritten with the satellite location data.
  4. Copy the Starlink satellite TLE data from this link.
  5. Save the data in a "starlink.txt" file inside the data directory of the orbital_mechanics and execute the 2BodyProblem.py file.
  6. This file extracts all the required orbital elements from the TLE data and passes it to OrbitPropagator.py which calculates the state vectors(position and velocity) for that satelliet at every timestep dt.
  7. The OrbitPropagator.py script makes use of the Ordinary Differential Equation Solver from the scipy module and applies it to the differential equation obtained by considering a 2 Body Gravitational Inetraction between the Earth and the Satellite.

    Note: There are a lot more factors that are to be considered while calculating orbit trajectories of satellites like Earth's oblate shape, atmospheric drag, gravity due to moon etc. Currently the code does not take these perturbations into account but I will try and include them in a future version of the project using a more advanced SGP4 perturbation model.

  8. The location data for each satellite for every timestep is stored in a list and then written to the blender's particle cache files for every frame using the particlecahce.py script.
  9. Now when you run the animation in blender it will animate the particles according to the location data written in the particle cache files by orbital_mechanics.

Data Flow Diagram

Following is the Data Flow for project S.T.A.R:

Thanks to:

  1. Alfonso Gonzalez for amazing Youtube Playlist on orbital mechanics with python.
  2. European Space Agency and ONiRiXEL for their Space Debris movie for inspiration. Read the article here
  3. Member phonybone on blenderartists.org for their pointcache_doctor.py script. See the post here.

Developed By:

Jasmeet Singh
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].