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.
- Öffnen Sie
index.htmlim Browser → Dies wird das Hauptfenster (Sonne) - Klicken Sie auf "🚀 Neuer Planet" → Öffnet ein neues Planeten-Fenster
- Experimentieren Sie mit den Controls → Beobachten Sie die Physik!
- ⭐ 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
- 🪐 Farbiger Planet-Ball mit Physik
- 🌌 Sternen-Hintergrund
- 📈 Live-Anzeigen: Geschwindigkeit & Sonnen-Kraft
- 🔄 Reaktion auf Fenster-Bewegung
- 🎯 Kollision mit Fenster-Rändern
-
Ball-Gravitation (nach unten, 0.3)
- Kann ein-/ausgeschaltet werden
- Standard: aktiviert
-
Sonnen-Gravitation (variable Stärke)
- Anziehung oder Abstoßung zur Sonne
- Stärke: -3 bis +3
- Reichweite: Abhängig von Distanz
- 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)
- Globale Screen-Koordinaten für Ball-Position
- Dynamische Fenster-Grenzen basierend auf window.screenX/Y
- Fenster-Bewegung beeinflusst Ball-Velocity
- localStorage für Inter-Fenster-Kommunikation
- Real-time Updates alle 100ms für Sonnen-Position
- Event-driven für Slider-Änderungen
// 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
}index.html- Hauptfenster (Sonne)planet.html- Planeten-FensterREADME.md- Diese Dokumentation
- Schweben: Ball-Gravitation AUS + Sonnen-Gravitation 0
- Orbit: Sonnen-Gravitation positiv + Ball-Gravitation AUS
- Explosion: Sonnen-Gravitation stark negativ
- Space Walk: Luftwiderstand 0.999 + Ball-Gravitation AUS
- Mehrere Planeten: Klicken Sie mehrmals auf "🚀 Neuer Planet"
- Fenster verschieben: Planeten reagieren auf Bewegung
- Browser-Tabs: Jeder Tab ist ein eigenes Fenster
- Browser-Konsole: Zeigt localStorage-Status
- Live-Werte: Geschwindigkeit & Sonnen-Kraft werden angezeigt
- Cache-Refresh: Cmd+Shift+R bei Problemen
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
- 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
- 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