J'ai du mal à modéliser la météo. La modélisation d'un seul aspect est triviale - un motif sinusoïdal + un bruit aléatoire. Cependant, plus d'un souffle dans mon esprit. Je ne peux pas avoir le vent, les feuilles qui tombent, la pluie et la neige pour être aléatoire. De simples collisions comme la pluie et la neige ne devraient jamais se produire.
En plus de cela, je voudrais un niveau "d'intensité" pour chacun peut-être. Mais cela peut venir après la logique principale.
La météo est stockée dans MySQL.
Toutes vos suggestions sont les bienvenues, mais veuillez ne pas suggérer de cingler un code postal et de tirer la météo à partir de là.
En utilisant les suggestions de toutes les réponses ci-dessous, j'ai trouvé cette distribution non à l'échelle :
Chaque fonction sera calculée avec un bruit aléatoire et la combinaison des 3 produira des effets de superposition.
(temp <0) et (humide> 65) => neige
la source
Réponses:
Qu'en est-il de diviser le temps en parties plus détaillées?
Vous pouvez toujours le stocker dans une seule colonne SQL si vous le souhaitez en en faisant une énumération simple avec 48 (4 * 4 * 3) valeurs possibles (en supprimant tous les conflits étranges que vous n'aimez pas).
la source
Cela ressemble à un modèle de Markov caché qui pourrait vous être utile. Ceux-ci définissent certains états avec des probabilités statistiques de transitions d'un état à chacun des autres états en fonction de la fréquence relative dans les observations.
Vous pouvez définir certains états météorologiques par exemple «pluvieux» et «ensoleillé» et les probabilités de transitions de pluvieux à ensoleillé et ensoleillé à pluvieux et calculer par exemple la probabilité qu'il pleuvra bientôt en fonction de votre observation s'il est actuellement ensoleillé ou pluvieux . L' article Wikipédia explique cela mais ce tutoriel (PDF) montre une approche plus pratique.
Si vous modélisez de nombreux modèles météorologiques différents, il serait difficile de les modéliser indépendamment avec ce modèle, mais vous pouvez définir des conditions météorologiques telles que 'FogRain' ou 'WindSnow' 'SunWind' 'Sun' 'par exemple et avoir des probabilités pour chacune. Ces probabilités pourraient même être modifiées en fonction du mois en jeu par exemple. Il y a un petit problème à savoir, cependant, que la taille de votre matrice de probabilité augmentera de n ^ 2 à mesure que vous ajoutez plus de types de temps car chacun doit avoir des probabilités de transition (même si elles sont nulles) aux autres.
la source
En bref..
Je penserais cela à travers la science.
Comme nous le savons tous, la neige est de la pluie et vice versa, sauf qu'ils ont des états solides différents en raison des changements de température.
Les changements de température peuvent être associés aux vents.
Un rapide Google pour "ce qui cause le vent" m'a donné une réponse d'Answers.com:
Oui, ce n'est pas la meilleure source de questions scientifiques, mais ça donne l'idée.
Donc, théoriquement, vous n'avez besoin que de vent maintenant. Il peut être aléatoire ou bien être en quelque sorte scripté pour votre environnement qui se réchauffe en raison de certains événements.
Prenez le vent maintenant, appliquez à votre position actuelle, et au hasard ou par le biais d'un script, faites-en des nuages. Plus le nuage est dense, plus la probabilité et la densité de la pluie sont importantes. Si la température est suffisamment basse, la pluie se transforme en neige. Déplacez le nuage et rendez-le "moins dense" avec ce vent.
Quant à l'affichage, c'est à vous de décider, il suffit de mettre en cache les états des particules qui tombent,
if rain -> use water drop texture
etif snow -> use snowflake texture
. Utilisez le vent pour faire bouger ces particules en fonction de la direction du vent (oui, vous devriez aussi stocker celle-ci quelque part) pour la rendre un peu plus réaliste.Et avec cela, vous pouvez développer tout. Par exemple, s'il y a de la neige qui tombe et que les flocons de neige tombent près d'une source de chaleur, changez à nouveau la texture des particules en pluie.
Beaucoup de possibilités en fait, ce n'est qu'un concept simple.
PS En ce qui concerne la grêle, regardez ce qui les rend, élargissez le concept pour un tel environnement.
Amusez-vous, bonne chance.
la source