Skip to content

bitterstoat/orrery

Repository files navigation

orrery

An interactive map of the Solar System created with Three.js and jQuery.

This is currently live at http://alltheseworldsareyours.com

It's definitely better as a desktop web experience than mobile in the current version.

Requirements

Features

  • Ephemerides for astronomical bodies in the Solar System, searachable for all above 1km in radius
  • Exaggerated orrery view at the solar system scale, zoomable to true scale for planetary systems
  • Live data readout for the body's physical and orbital characteristics, right ascension/declination and altitude/azimuth coordintes relative to current location, rise and set times, and magnitude adjusted for atmospheric dispersion
  • Links to articles and images from Wikipedia
  • Background stars include all above 7th magnitude
  • HTTPvars for latitiude/longitude, start time, and reducing particle count

Setup

  • npm init
  • npm i three-js

Usage

Navigation

  • SPACE BAR: Pause/resume time
  • LEFT/RIGHT ARROW KEYS: Change speed
  • DOWN ARROW KEY: Set to current time
  • UP ARROW KEY: Toggle chase mode on focused object
  • ESC: Release focus on object
  • F2: Hide/show UI panels
  • F4: Hide/show celestial sphere
  • F8: Hide/show extra time info
  • CLICK ON LABELS: Shift focus to object and display info
  • CLICK ON INFO HEADER OR IMAGE: Learn more on Wikipedia
  • LEFT/MID/RIGHT MOUSE + DRAG: Rotate/zoom/translate around focus
  • SCROLL WHEEL: Zoom to focus

HTTP Variables

  • ?x=(decimal degrees): Longitude
  • ?y=(decimal degrees): Latitude
  • ?t=(YYYYMMDDHHMM): Date (Years can be -9999 to 9999, time in military time format, e.g. 0615)
  • ?n=(integer) Small asteroid limit

Potential Roadmap

  • UI scaling for mobile
  • Object count throttling from FPS observation
  • Non-periodic comets/hyperbolic orbits (`Omuamua, etc.)
  • Extended data/add ins for smaller objects
  • Planetarium view with sky shader
  • Asteroid categorization from orbital elements
  • Asteroid 3D shapes
  • Ring shadows
  • Spacecraft/Two Line Element reader
  • NASA SPICE kernels
  • Better image compression (Basis)
  • THREE.CSS2D renderer or Canvas for tags (if faster)
  • Procedural textures
  • Exoplanetary systems
  • Lagrange points/Hill spheres for planets
  • XR
  • Hohmann transfer orbits, launch window solver, delta-v requirements
  • Gravitational simulations
  • Compute shaders

About

An interactive map of the Solar System created with Three.js and jQuery

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published