❄️ Schneekugel
Interaktive 3D-Schneekugel-Simulation. Beobachte, wie Schneeflocken in einer Glaskugel treiben und wirbeln, schüttle sie, um den Schnee aufzuwirbeln, und sieh zu, wie er sich sanft absetzt.
Über diese Simulation
Trete ein in eine Echtzeit-3D-Schneekugel, die vollständig in WebGL gerendert wird. Bis zu 4.000 einzelne Schneeflocken treiben durch eine Glaskugel — jede gesteuert von der Physik der Endgeschwindigkeit, sinusförmigen Wirbelströmungen und einem eigenen GLSL-Shader, der weiche, blau-weiße Eiskristalle rendert. Drücke Schütteln und beobachte, wie die ganze Szene aufbricht, bevor sich die Flocken langsam unter der Schwerkraft wieder absetzen.
🔬 Was gezeigt wird
Jede Schneeflocke erreicht ihre Endgeschwindigkeit, wenn die Schwerkraft exakt vom Luftwiderstand ausgeglichen wird. Da die flache, verzweigte Form einer echten Flocke im Verhältnis zu ihrer winzigen Masse enormen Widerstand erzeugt, liegt diese Endgeschwindigkeit bei nur etwa 1–2 m/s — weit langsamer als ein Regentropfen. Die Simulation bildet dies ab, indem jedem Partikel eine sanfte, konstante Fallrate zugewiesen wird, mit zufälliger Variation pro Flocke, sodass sich keine zwei Flocken identisch bewegen.
🎮 Bedienung
Nutze Schneemenge (500–4.000), um Dichte gegen Leistung abzuwägen. Fallgeschwindigkeit skaliert, wie schnell Flocken herabsinken — stelle sie höher für einen Schneesturm, niedriger für ein verträumtes Treiben. Wirbelstärke fügt sinusförmige Turbulenzen in der horizontalen Ebene hinzu und ahmt Wirbelströmungen nach. Flockengröße passt die gerenderte Punktgröße an. Klicke auf Schütteln!, um einen nach oben gerichteten Geschwindigkeitsstoß auszulösen, der über etwa eine Sekunde abklingt.
💡 Wusstest du schon?
Schneekugeln wurden um 1900 erfunden und verwendeten ursprünglich weiße Porzellanflocken als „Schnee". Moderne Sammlerstücke nutzen feine Kunststoffpartikel in destilliertem Wasser, gemischt mit Glykol, um das Absetzen zu verlangsamen — genau das, was die Regler für Wirbel und Fallgeschwindigkeit hier nachbilden. Die Glaskugel in dieser Simulation nutzt einen zweistufigen Rendering-Trick (Vorder- und Rückseite), um die Illusion von Lichtbrechung ohne aufwendiges Ray-Marching zu erzeugen.
Häufig gestellte Fragen
Warum fallen Schneeflocken so viel langsamer als Regen?
Die flache, sechsarmige Dendritenform einer Schneeflocke gibt ihr ein außergewöhnlich hohes Verhältnis von Oberfläche zu Masse. Der Luftwiderstand skaliert mit der Fläche, während die Schwerkraft mit der Masse skaliert, sodass das Verhältnis von Widerstand zu Gewicht bei einer Flocke weit höher ist als bei einem kompakten Regentropfen. Das Gleichgewicht (Endgeschwindigkeit) wird daher schon bei nur 1–2 m/s erreicht — du kannst den Regler für die Fallgeschwindigkeit über 1,0 hinaus erhöhen, um zu sehen, wie ein schwereres Partikel aussehen würde.
Was verändert der Regler für die Wirbelstärke genau?
Er skaliert die Amplitude zweier sinusförmiger Verschiebungen, die im Zeitverlauf auf die X- und Z-Position jeder Flocke angewendet werden — eine schwingt mit 0,7 rad/s, die andere mit 0,53 rad/s. Die zwei leicht unterschiedlichen Frequenzen erzeugen eine quasi-zufällige Taumelbewegung, die sich nie exakt wiederholt, und ahmen so die Wirbelströmungen nach, die sich in einer echten geschüttelten Schneekugel bilden. Bei 0 fallen die Flocken vollkommen senkrecht, bei 2,0 spiralen sie dramatisch.
Wie funktioniert die Schütteln-Schaltfläche?
Ein Klick auf Schütteln setzt einen internen shakeDecay-Wert auf 1,0. In jedem Animationsbild wird dieser Wert um das 1,4-fache der Delta-Zeit verringert, sodass er in etwa 0,7 Sekunden auf null abklingt. Solange er ungleich null ist, fügt der GLSL-Vertex-Shader jeder Flocke eine nach oben gerichtete Geschwindigkeit (shakeY) und zufällige seitliche Verschiebungen (shakeX, shakeZ) proportional zu shakeDecay hinzu — das erzeugt den charakteristischen Aufwirbel-dann-Absetzen-Bogen.
Wie viele Schneeflocken sind maximal möglich und warum?
Der Regler ist bei 4.000 Partikeln gedeckelt. Jede Flocke ist ein GPU-Punkt-Sprite, das in einem eigenen Vertex-Shader verarbeitet wird, sodass die Leistung selbst beim Maximum ausgezeichnet bleibt — jenseits einiger Tausend wird das Innere der Kugel jedoch so dicht gepackt, dass einzelne Flocken nicht mehr unterscheidbar sind. Der Standardwert von 2.000 bietet die beste optische Balance zwischen Dichte und Erkennbarkeit der einzelnen Kristallformen.
Kann ich die Kamera um die Kugel herum bewegen?
Ja — klicke und ziehe auf der Leinwand, um zu kreisen, scrolle, um herein- und herauszuzoomen, und klicke mit der rechten Maustaste (oder wische mit zwei Fingern auf Mobilgeräten), um zu schwenken. Die Kamera verwendet Three.js OrbitControls mit aktivierter Dämpfung, sodass sie sanft zum Stillstand gleitet, statt einzurasten. Der Zoom ist zwischen 2,5 und 12 Einheiten begrenzt, sodass du nie in den Sockel hineinsiehst oder so weit wegfliegst, dass die Kugel verschwindet.
Eine gläserne Schneekugel — schüttle sie und beobachte, wie der Schnee wirbelt und sich über einer kleinen Winterszene absetzt.
3D · Three.js / WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, keine Installation