Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

🌌 Interaktives Universum mit localStorage

Ein Physics-Simulationssystem mit mehreren Browser-Fenstern, die über localStorage kommunizieren. Ein Fenster dient als Sonne (Gravitationszentrum), während andere Fenster als Planeten fungieren, die von der Sonne beeinflusst werden.

🚀 Quick Start

  1. Öffnen Sie index.html im Browser → Dies wird das Hauptfenster (Sonne)
  2. Klicken Sie auf "🚀 Neuer Planet" → Öffnet ein neues Planeten-Fenster
  3. Experimentieren Sie mit den Controls → Beobachten Sie die Physik!

🎮 Features

Hauptfenster (index.html)

  • Pulsierende Sonne als Gravitationszentrum
  • 🎚️ Sonnen-Gravitation (-3 bis +3)
    • Positive Werte: Anziehung zur Sonne (grün)
    • Negative Werte: Abstoßung von der Sonne (rot)
    • Null: Neutral (orange)
  • 🔘 Ball-Gravitation Toggle (Ein/Aus)
  • 💨 Luftwiderstand (0.90 - 0.999)
  • 🏀 Bounce-Stärke (0.3 - 1.0)
  • 🔄 Reset Alle Button
  • 📊 Planeten-Zähler

Planeten-Fenster (planet.html)

  • 🪐 Farbiger Planet-Ball mit Physik
  • 🌌 Sternen-Hintergrund
  • 📈 Live-Anzeigen: Geschwindigkeit & Sonnen-Kraft
  • 🔄 Reaktion auf Fenster-Bewegung
  • 🎯 Kollision mit Fenster-Rändern

⚙️ Physik-System

Kräfte

  1. Ball-Gravitation (nach unten, 0.3)

    • Kann ein-/ausgeschaltet werden
    • Standard: aktiviert
  2. Sonnen-Gravitation (variable Stärke)

    • Anziehung oder Abstoßung zur Sonne
    • Stärke: -3 bis +3
    • Reichweite: Abhängig von Distanz

Physik-Parameter

  • Luftwiderstand: 0.90 (stark) bis 0.999 (minimal)
  • Bounce-Stärke: 0.3 (schwach) bis 1.0 (perfekt)
  • Ball-Radius: 30px
  • Update-Rate: 60 FPS (requestAnimationFrame)

Koordinaten-System

  • Globale Screen-Koordinaten für Ball-Position
  • Dynamische Fenster-Grenzen basierend auf window.screenX/Y
  • Fenster-Bewegung beeinflusst Ball-Velocity

🛠️ Technische Details

Kommunikation

  • localStorage für Inter-Fenster-Kommunikation
  • Real-time Updates alle 100ms für Sonnen-Position
  • Event-driven für Slider-Änderungen

Daten-Struktur

// universeState (localStorage)
{
  gravity: 1.0,           // Sonnen-Gravitation
  ballGravity: true,      // Ball-Gravitation an/aus
  airResistance: 0.995,   // Luftwiderstand
  bounce: 0.85,          // Bounce-Stärke
  timestamp: 1234567890,
  sender: "window_..."
}

// sunPosition (localStorage)
{
  screenX: 590,          // Globale X-Position
  screenY: 410,          // Globale Y-Position
  windowX: 100,          // Fenster X-Position
  windowY: 50,           // Fenster Y-Position
  windowWidth: 800,      // Fenster Breite
  windowHeight: 600,     // Fenster Höhe
  timestamp: 1234567890
}

Dateien

  • index.html - Hauptfenster (Sonne)
  • planet.html - Planeten-Fenster
  • README.md - Diese Dokumentation

🎯 Tipps & Tricks

Coole Effekte

  1. Schweben: Ball-Gravitation AUS + Sonnen-Gravitation 0
  2. Orbit: Sonnen-Gravitation positiv + Ball-Gravitation AUS
  3. Explosion: Sonnen-Gravitation stark negativ
  4. Space Walk: Luftwiderstand 0.999 + Ball-Gravitation AUS

Performance

  • Mehrere Planeten: Klicken Sie mehrmals auf "🚀 Neuer Planet"
  • Fenster verschieben: Planeten reagieren auf Bewegung
  • Browser-Tabs: Jeder Tab ist ein eigenes Fenster

Debugging

  • Browser-Konsole: Zeigt localStorage-Status
  • Live-Werte: Geschwindigkeit & Sonnen-Kraft werden angezeigt
  • Cache-Refresh: Cmd+Shift+R bei Problemen

🌟 Experimente

Physik-Kombinationen

1. Weltraum-Schweben:
   - Ball-Gravitation: AUS
   - Sonnen-Gravitation: 0
   - Luftwiderstand: 0.999

2. Bouncy Ball:
   - Ball-Gravitation: EIN
   - Sonnen-Gravitation: 0
   - Bounce: 1.0
   - Luftwiderstand: 0.999

3. Magnetfeld:
   - Ball-Gravitation: AUS
   - Sonnen-Gravitation: +2.0
   - Luftwiderstand: 0.99

4. Anti-Gravitation:
   - Ball-Gravitation: EIN
   - Sonnen-Gravitation: -1.5
   - Bounce: 0.5

🐛 Bekannte Issues

  • Browser-Cache: Bei Problemen Cmd+Shift+R verwenden
  • Fenster-Position: Manchmal muss Fenster bewegt werden für Updates
  • Multi-Monitor: Positionen können auf mehreren Monitoren ungenau sein

🔄 Versionen

  • v6: Vollständige Physik-Controls
  • v5: Ball-Gravitation Toggle
  • v4: Anziehung/Abstoßung
  • v3: Sonnen-Position Updates
  • v2: Grundlegende Physik
  • v1: Initial Setup

Viel Spaß beim Experimentieren! 🎱⭐

Made with ❤️ and localStorage

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages