Skip to content
This repository was archived by the owner on Feb 15, 2026. It is now read-only.

Latest commit

 

History

History
528 lines (406 loc) · 10.9 KB

File metadata and controls

528 lines (406 loc) · 10.9 KB

SSZ Skymap - Interactive3D-Style 3D Star Map

Interactive 3D star map with real SSZ (Segmented Spacetime) physics

Status Python License


🎮 Features

Interactive3D-Style Interface

  • ✅ 3D navigation (rotate, zoom, pan)
  • ✅ Interactive controls
  • ✅ Real-time updates
  • ✅ Search & filter
  • ✅ Click on stars for info
  • ✅ Beautiful themes

Real Physics

  • ✅ SSZ (Segmented Spacetime) transformation
  • ✅ Time dilation visualization
  • ✅ Distance comparison (Minkowski vs SSZ)
  • ✅ Validated formulas

Real Data

  • ✅ 800 GAIA DR3 stars
  • ✅ Real astronomical positions
  • ✅ Galactic coordinates

🚀 Quick Start

Option 1: Instant Demo (No Installation)

cd E:\clone\Segmented-Spacetime-StarMaps
python skymap_advanced.py

→ Browser opens automatically with 400 stars + effects!

Option 2: Full Production (800 Stars)

python skymap_3d.py --distance 50 --max-stars 800 --theme space

→ 800 real GAIA stars, dual-view, space theme! 🌌

Option 3: Interactive Dashboard

# One-time setup:
pip install dash dash-bootstrap-components

# Run dashboard:
python skymap_dashboard.py

# Open browser: http://127.0.0.1:8050/

→ Full interactive web app with sliders & controls! 🎛️


📋 Three Applications

1. skymap_3d.py - Production Basic

Best for: General use, presentations

python skymap_3d.py [OPTIONS]

Options:
  --distance FLOAT       Max distance in parsecs (default: 50)
  --max-stars INT        Number of stars (default: 1000)
  --mode [dual|single]   View mode (default: dual)
  --theme [dark|space|light]  Color theme
  --output FILE          Save to HTML file

Example:

python skymap_3d.py --distance 100 --max-stars 1500 --theme space

2. skymap_advanced.py - With Visual Effects

Best for: Stunning visuals, demonstrations

python skymap_advanced.py [OPTIONS]

Options:
  --distance FLOAT       Max distance in parsecs
  --max-stars INT        Number of stars
  --effects LIST         Visual effects: glow, connections, ruler
  --glow-mode [stretch|dilation|combined]
  --theme [dark|space|light]
  --connections          Show connection lines

Example:

python skymap_advanced.py \
    --effects glow connections \
    --glow-mode combined \
    --theme space \
    --max-stars 600

Visual Effects:

  • Glow: Star size ∝ SSZ stretch factor
  • Connections: Automatic web of nearby stars (867 links!)
  • Color: Plasma scale for time dilation

3. skymap_dashboard.py - Interactive Dashboard

Best for: Exploration, research, education

# First install (once):
pip install dash dash-bootstrap-components

# Run:
python skymap_dashboard.py

# Access: http://127.0.0.1:8050/

Dashboard Features:

  • 🎛️ Interactive sliders (distance, stars, magnitude)
  • 🔍 Search stars by name
  • 📊 Live statistics panel
  • 🖱️ Click on star → see detailed info
  • 🎨 Switch themes in real-time
  • ⚙️ Toggle effects on/off
  • 📋 Filter by magnitude, spectral type

Controls:

  • Distance slider: 0-100 pc
  • Stars slider: 100-2000
  • Glow mode: stretch / dilation / combined
  • Effects: [✓] Glow [✓] Connections [✓] SSZ
  • Theme: Space / Dark / Light

📊 What You See

Dual-View Mode:

┌──────────────┬──────────────┐
│  Minkowski   │     SSZ      │
│   (Flat)     │  (Curved)    │
│              │              │
│   ⭐ ⭐      │    ✨⭐✨    │
│  ⭐   ⭐     │  ⭐─────⭐   │
│    ⭐        │     ✨        │
│              │              │
│ Standard     │ With Effects │
│ Distance     │ Stretched    │
└──────────────┴──────────────┘

Visual Encoding:

  • Color: Time dilation (D_SSZ)

    • Red/Orange: Slower time
    • Blue/Purple: Faster time
  • Size: SSZ stretch factor

    • Larger: Stronger effect
    • Smaller: Weaker effect
  • Lines: Spatial connections

    • Link nearby stars (< 5 pc)
    • Show relationships

🎨 Themes

Space (Black)

Background: Pure black (#000000)
Grid: Dark grey (#1a1a2e)
Text: Cyan (#00ffff)
Use: Maximum contrast, presentation

Dark (Navy)

Background: Navy (#0a0a1e)
Grid: Blue-grey (#333366)
Text: White
Use: Comfortable viewing, general use

Light

Background: White (#ffffff)
Grid: Light grey (#cccccc)
Text: Black
Use: Printing, daytime viewing

💡 Usage Examples

Quick Demo:

# Fastest way to see the skymap
python skymap_advanced.py

High Resolution:

# 1500 stars, full distance range
python skymap_3d.py --distance 100 --max-stars 1500 --theme space

Educational:

# Perfect for teaching SSZ concepts
python skymap_advanced.py \
    --effects glow connections \
    --glow-mode combined \
    --theme dark

Research:

# Full interactive dashboard
python skymap_dashboard.py
# Then: http://127.0.0.1:8050/

Custom Output:

# Save to specific location
python skymap_3d.py --output my_skymap.html --max-stars 1000

📁 Output Files

All apps create HTML files in outputs_quick_start/:

outputs_quick_start/
├── skymap_proto.html       (~2 MB)
├── skymap_3d.html          (~3 MB)
└── skymap_advanced.html    (~4 MB)

These HTML files:

  • ✅ Work in any browser
  • ✅ Fully interactive
  • ✅ No server needed
  • ✅ Sharable
  • ✅ Self-contained

🔬 SSZ Physics

Formulas Implemented:

# Radial expansion factor
Xi(r) = 1 - exp(-φ * r / r_s)

# Time dilation
D_SSZ(r) = 1 / (1 + Xi(r))

# Stretch factor
stretch = 1 + Xi(r)

# Where:
φ = (1 +5) / 2 = 1.618034  # Golden ratio
r_s = 2GM/c²                  # Schwarzschild radius

Validation:

  • ✅ Stretch factor: 2.000000x (exact)
  • ✅ Time dilation: 0.500000 (exact)
  • ✅ Matches Mass-Projection repo results
  • ✅ Coordinates: Galactic frame (Astropy)

📊 Performance

Typical Performance:

Stars:       400-800
Load Time:   2-5 seconds
Render:      1-2 seconds
Memory:      200-300 MB
File Size:   2-4 MB
Update:      <0.5 seconds
Response:    Instant

Tested Configurations:

  • ✅ Windows 10/11 (Chrome, Firefox, Edge)
  • ✅ 800 stars smooth
  • ✅ 867 connections no lag
  • ✅ Real-time updates responsive

🛠️ Requirements

Core (Already Installed):

numpy
pandas
plotly
matplotlib
astropy
astroquery

Dashboard (Optional):

pip install dash dash-bootstrap-components

Full Requirements:

pip install -r requirements-dashboard.txt

📚 Documentation

Quick Guides:

  • README_SKYMAP.md - This file (quick start)
  • INSTALL_DASHBOARD.md - Dashboard setup
  • Interactive3D_SKYMAP_COMPLETE.md - Full project summary

Technical Docs:

  • ROADMAP_Interactive3D_STYLE_SKYMAP.md - Original plan
  • PHASE2_COMPLETE.md - Visual effects
  • PHASE3_COMPLETE.md - Dashboard implementation
  • SKYMAP_PROGRESS.md - Development tracking

Code Docs:

All functions have docstrings with examples!


🎯 Use Cases

Education:

  • Teaching SSZ concepts
  • Visualizing spacetime curvature
  • Demonstrating time dilation
  • Comparing theories (Minkowski vs SSZ)

Research:

  • Exploring GAIA data
  • Testing SSZ predictions
  • Analyzing stellar distributions
  • Cross-validating with other data

Presentation:

  • Conferences
  • Papers
  • Seminars
  • Public outreach

Exploration:

  • Interactive star browsing
  • Finding interesting objects
  • Visualizing neighborhoods
  • Understanding 3D structure

🎮 Interactive Controls

Mouse:

  • Drag: Rotate view
  • Scroll: Zoom in/out
  • Shift+Drag: Pan camera
  • Double-click: Reset view
  • Click star: Show info (Dashboard only)

Dashboard:

  • Sliders: Adjust distance, stars, magnitude
  • Dropdowns: Change glow mode, color scale
  • Toggles: Enable/disable effects
  • Search: Find star by name
  • Buttons: Update view, apply filters

🚀 Advanced Usage

Batch Processing:

from skymap.core import SkymapRenderer, prepare_star_coordinates
from ssz_starmaps.catalogs import CatalogManager
from ssz_starmaps.transform import transform_catalog

# Load data
manager = CatalogManager()
stars = manager.fetch_nearby(distance_pc=50, max_stars=500)

# Prepare
stars = prepare_star_coordinates(stars)
stars_ssz = transform_catalog(stars)

# Render
renderer = SkymapRenderer(theme='space')
fig = renderer.create_dual_view(stars, stars_ssz)
fig.show()

Custom Effects:

from skymap.effects import apply_glow_effect, create_connection_lines

# Apply glow
sizes, opacities = apply_glow_effect(stars_ssz, mode='combined')

# Create connections
connections = create_connection_lines(stars, max_distance=5.0)

🐛 Troubleshooting

"No module named 'dash'"

pip install dash dash-bootstrap-components

"No cached data available"

This is normal! The app generates mock stars automatically.

For real GAIA data:

# Apps will try to fetch GAIA automatically
# If offline, they fall back to mock data

Browser doesn't open

# Manually open the HTML file:
# outputs_quick_start/skymap_advanced.html

Performance issues

# Reduce number of stars:
python skymap_3d.py --max-stars 500

# Or disable effects:
python skymap_advanced.py --effects glow

📞 Support

Project: Segmented Spacetime StarMaps
Authors: Carmen Wrede, Lino Casu
License: Anti-Capitalist Software License v1.4
Year: 2025

Related Projects:

  • Mass-Projection (validation data)
  • SSZ Theory (physics foundation)
  • GAIA DR3 (astronomical data)

✨ Features Roadmap

Implemented (Phase 1-3):

  • ✅ 3D visualization
  • ✅ GAIA data integration
  • ✅ SSZ transformation
  • ✅ Dual-view comparison
  • ✅ Visual effects (glow, connections)
  • ✅ Interactive dashboard
  • ✅ Search & filter
  • ✅ Themes

Future (Phase 4-5, Optional):

  • ⏳ Animation (proper motion)
  • ⏳ Path finding
  • ⏳ Constellation patterns
  • ⏳ Export to PDF/PNG
  • ⏳ More data sources (ESO, ALMA, AKARI)
  • ⏳ VR support

🎉 Quick Reference

# Instant demo (no setup)
python skymap_advanced.py

# Production (800 stars)
python skymap_3d.py --max-stars 800

# Dashboard (interactive)
pip install dash dash-bootstrap-components
python skymap_dashboard.py

# Custom
python skymap_3d.py --distance 100 --theme space --output my_map.html

Enjoy exploring the SSZ universe! 🌌✨

© 2025 Carmen Wrede & Lino Casu
Licensed under ACSL v1.4