Es fällt mir schwer, das Wetter zu modellieren. Das Modellieren eines einzelnen Aspekts ist trivial - ein sinusförmiges Muster + zufälliges Rauschen. Allerdings hat mich mehr als 1 umgehauen. Ich kann Wind, fallende Blätter, Regen und Schnee nicht zufällig haben. Einfache Kollisionen wie Regen und Schnee sollten niemals auftreten.
Darüber hinaus möchte ich für jeden eine "Intensität". Dies kann jedoch nach der Hauptlogik erfolgen.
Das Wetter wird in MySQL gespeichert.
Alle Ihre Vorschläge sind willkommen, aber bitte schlagen Sie nicht vor, eine Postleitzahl zu pingen und das Wetter von dort abzurufen.
Unter Verwendung der Vorschläge aus allen folgenden Antworten habe ich mir diese nicht maßstabsgetreue Verteilung ausgedacht:
Jedes Merkmal wird mit einem zufälligen Rauschen berechnet, und die Kombination der 3 erzeugt Überlagerungseffekte.
(Temp <0) und (feucht> 65) => Schnee
quelle
Antworten:
Was ist mit der Aufteilung des Wetters in detailliertere Teile?
Sie können dies weiterhin in einer einzelnen SQL-Spalte speichern, indem Sie eine einfache Aufzählung mit 48 (4 * 4 * 3) möglichen Werten erstellen (um alle seltsamen Konflikte zu entfernen, die Sie nicht mögen).
quelle
Es klingt so, als ob ein Hidden Markov-Modell für Sie nützlich sein könnte. Diese definieren bestimmte Zustände mit statistischen Wahrscheinlichkeiten für Übergänge von einem Zustand zu jedem der anderen Zustände basierend auf der relativen Häufigkeit von Beobachtungen.
Sie können einige Wetterzustände definieren, z. B. "regnerisch" und "sonnig", und die Wahrscheinlichkeit von Übergängen von "regnerisch" zu "sonnig" und "sonnig" zu "regnerisch", und beispielsweise die Wahrscheinlichkeit berechnen, dass es bald regnen wird, basierend auf Ihrer Beobachtung, ob es derzeit sonnig oder regnerisch ist . Der Wikipedia-Artikel erklärt dies, aber dieses Tutorial (PDF) zeigt einen praktischeren Ansatz.
Wenn Sie viele verschiedene Wettermuster modellieren, ist es schwierig, sie unabhängig voneinander mit diesem Muster zu modellieren. Sie können jedoch Wetter wie "FogRain" oder "WindSnow", "SunWind", "Sun" definieren und für jedes Muster Wahrscheinlichkeiten festlegen. Diese Wahrscheinlichkeiten könnten beispielsweise sogar basierend auf dem Monat im Spiel geändert werden. Es ist jedoch ein kleines Problem zu beachten, dass die Größe Ihrer Wahrscheinlichkeitsmatrix um n ^ 2 zunimmt, wenn Sie mehr Wettertypen hinzufügen, da jeder Übergangswahrscheinlichkeiten (auch wenn sie Null sind) zu den anderen haben muss.
quelle
Zusamenfassend..
Ich würde das durch Wissenschaft denken.
Wie wir alle wissen, ist Schnee Regen und umgekehrt, außer dass sie aufgrund von Temperaturänderungen unterschiedliche Festkörper haben.
Temperaturänderungen können mit Winden verbunden sein.
Ein schnelles Google für "Was Wind verursacht" gab mir eine Antwort von Answers.com:
Ja, nicht die beste Quelle für wissenschaftliche Fragen, aber es gibt die Idee.
Theoretisch brauchen Sie jetzt nur noch Wind. Es kann zufällig sein oder auch irgendwie in eine Umgebung geschrieben werden, die sich aufgrund einiger Ereignisse erwärmt.
Nehmen Sie jetzt Wind, wenden Sie sich an Ihre aktuelle Position und machen Sie zufällig oder durch ein Skript Wolken daraus. Je dichter die Wolke ist, desto größer ist die Wahrscheinlichkeit und Dichte des Regens. Wenn die Temperatur niedrig genug ist, wird Regen zu Schnee. Bewegen Sie die Wolke und machen Sie sie mit diesem Wind "nicht so dicht".
Was die Anzeige betrifft, liegt es an Ihnen, einfach die Zustände der fallenden Partikel zwischenzuspeichern
if rain -> use water drop texture
undif snow -> use snowflake texture
. Verwenden Sie den Wind, um diese Partikel entsprechend der Windrichtung zu bewegen (ja, Sie sollten diese auch irgendwo aufbewahren), um sie etwas realistischer zu gestalten.Und damit können Sie alles erweitern. Wenn beispielsweise Schnee fällt und die Schneeflocken in der Nähe einer Wärmequelle fallen, ändern Sie die Partikelstruktur wieder in Regen.
Viele Möglichkeiten, dies ist nur ein einfaches Konzept.
PS Was den Hagel betrifft, schauen Sie, was diese ausmacht, und erweitern Sie das Konzept für eine solche Umgebung.
Viel Spaß, viel Glück.
quelle