The Tychosium is an interactive 3D astronomical simulation implementing the TYCHOS model of our solar system. It offers a unique perspective on celestial mechanics, featuring real-time orbital calculations, a comprehensive star catalog, and immersive visualization.
Built with modern web technologies to ensure performance and accuracy, this project aims to visualize the binary solar system concepts proposed by the Tychos model.
- Features
- The TYCHOS Model
- Technical Stack
- Getting Started
- Usage & Controls
- Project Structure
- Configuration
- Contributing
- License
- TYCHOS Implementation: Full realization of the Earth-centered binary system model.
- Real-time Mechanics: Accurate planetary motions with the ability to traverse time (past/future).
- Celestial Bodies: Includes the Sun, Moon, planets, major asteroids, and Halley's comet.
- Star Catalog: Integrated Bright Star Catalog (BSC) containing over 9,000 stars with accurate magnitude and color data.
- Dual Camera System: Switch between a global "Orbit Camera" and a surface-level "Planet Camera".
- Trace: Visualize complex planetary geometric paths (spirographs) over time.
- Visual Aids: Ecliptic grids, celestial sphere, zodiacal bands, and polar lines.
- High-Fidelity Graphics: Realistic textures and dynamic solar lighting using post-processing effects.
- Time Travel: Jump to specific historical or future dates instantly.
- Perpetual calendar: Gregorian dates and support for Astronomical Julian day.
- Variable Speed: Control simulation speed from real-time up to millennial steps.
- Smart Search: Search implementation to quickly locate stars by name/HR number.
This simulation is distinct from standard heliocentric visualizers. It implements the TYCHOS model, which proposes:
- Earth as Reference: Earth remains relatively stationary at the center of the system.
- Binary System: The Sun and Mars are binary companions.
- PVP Orbit: The entire solar system rotates together with Earth in the PVP-orbit (Polaris-Vega-Polaris).
π Learn more: tychos.space
This project leverages the latest ecosystem for 3D web development.
| Category | Technology | Purpose |
|---|---|---|
| Core | React 18 | UI and Component Architecture |
| 3D Engine | Three.js | WebGL Rendering Engine |
| Renderer | React Three Fiber | React renderer for Three.js |
| Helpers | @react-three/drei | High-level 3D abstractions |
| Effects | Postprocessing | Bloom, glow, and visual effects |
| State | Zustand | Global state management |
| GUI | Leva | Tweakable control panels |
- Node.js: v16.0.0 or higher
- Package Manager:
npmoryarn
-
Clone the repository
git clone [https://github.com/pholmq/TSN.git](https://github.com/pholmq/TSN.git) cd TSN -
Install dependencies
npm install
-
Start development server
npm start
Open http://localhost:3000 to view it in the browser.
To create an optimized build for deployment:
npm run build
src/
βββ components/
β βββ Intro/ # Intro animation and text
β βββ Helpers/ # Celestial sphere, grids, zodiac
β βββ HoverObj/ # Interaction logic for object selection
β βββ Menus/ # UI Menus for settings and effects
β βββ PlanetCamera/ # First-person surface view logic
β βββ Stars/ # Star rendering (InstancedMesh) & Data
β βββ Trace/ # Orbital path tracing logic
β βββ SolarSystem.jsx # Main scene composition
β βββ UserInterface.jsx# HUD and overlays
βββ settings/
β βββ BSC.json # Bright Star Catalog Data
β βββ celestial-settings.json # Planet orbits and constants
β βββ star-settings.json # Visual configuration for stars
βββ utils/
β βββ celestial-functions.js # Tychos model math & logic
β βββ time-date-functions.js # Julian Date conversions etc
βββ store.js # Zustand store for global app state
You can customize the simulation logic by editing files in the src/settings/ directory:
celestial-settings.json: Modify orbital speeds, distances, sizes, and starting positions for planets.star-settings.json: Adjust the rendering scale, brightness, and colors of stars.BSC.json: The raw data for the stars.
Contributions are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.
- Simon Shack for the creation of the TYCHOS model.
- Astronomers and scientists throughout the ages for trying to figure out the mysteries of our world. In particular Tycho Brahe.
- Yale University Observatory for the Bright Star Catalog.
- The open-source community behind React Three Fiber and so many other useful things.
You can donate to this work by visiting tychos.space and selecting "Donate". Your gift is much appreciated since Simon Shack has devoted a decade on the Tychos research and since we currently receive no funds of any kind for this work.