Skip to content

bitterstoat/orrery

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
css
 
 
 
 
 
 
js
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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