Hallo, ich bin's mal wieder! ^^°
Ich wollte mich gerne mal über Partikel informieren, besonders die benutzung der Partikel in Fluidsimulationen. Das sind Simulationen von Flüssigkeiten und Gasen (Rauch, Feuer etc.). Leider hab ich im Netz noch nix passendes gefunden. Ideal wären Tutorials, die in Richtung von dem hier gehen: http://kotsoft.googlepages.com/physicsdemos
Weitere Idealen wären:
-deutschsprachig
-für FB ausgelegt
-Edit: Achja! 2D, wenn möglich
Aber das muss auch nicht unbedingt sein! xD
Ich hoffe, ihr könnt mir weiterhelfen!
Edit by DFYX:
Ich hab das mal in den Requestthread geschoben.
Edit by Lloyd64:
Ah, gut. Dacht' erst, der wär verschwunden!
Ich konnte in den letzten Tagen einige Informationen sammeln.
Hier sind zwei Pdfs die mir schon ganz gut weitergeholfen haben. Sind zwar recht ähnlich, jedoch ergänzen sich beide auch. 1. Link 2. Link
Es wird sich auch hauptsächlich auf die Simultaion von Gasen, Rauch, Feuer etc. konzentriert, aber das sind ja auch Fluide!
Naja, ich bin grad dabei es in Code umzuwandeln, jedoch scheitere ich schon bei der Diffusion...
Wobei Dichte2 Der neue Dichtewert ist, und Dichte der alte.
600 weil meine Bildschirmlänge/breite 600 ist, und 20 weil's im 1. Link so steht! xD
Komischerweise ist dann nur ein Feld des Gitters weiß (Dichte wird bei Mausklick auf 1 gesetzt [1=Volle Dichte, 0=Keine Dichte/Nicht vorhanden])
Dieses klingt dann auch (sehr langsam) ab, jedoch passiert mit den Umliegenden nichts...
Dieses klingt dann auch (sehr langsam) ab, jedoch passiert mit den Umliegenden nichts...
...
Dann solltest du eher die Schleife posten, laut dem Code sollte es ja eindeutig klappen. o_O Auch wenn ich ihn jetzt nicht ganz genau angeschaut/durchdacht habe.
Ich hab mein Fenster ja in H-große Felder eingeteilt. In der Rechnung geht er aber immer statt H nur um 1, also einen POixel in die gewünschte Richtung...
Maln Beispiel:
Ich hab meinen Bildschirm in 5x5 große Kacheln geteilt. Also H=5.
Da ich aber immernoch auf Pixelebene arbeite, muss ich statt
einfach
schreiben, damit ich nicht einen, sonder H*Pixel (Also 5 Pixel) weiterspringe! >_>
Einfach ein kleiner Denkfehler.
Trotzdem danke!
Edit: Achja, die Schleife, einfach mal zum anschauen.
Ja, ich hab im Internet 2 Lösungen gefunden, wobei ich die zweite benutze, weil die erste irgendwie nicht ganz funzt. Hab erstmal auch keine Lust das zu ändern, denn es geht ja auch so
Achja, Kappa ist einfach ein beliebiger Faktor. Je größer desto schneller die Diffusion. Bei mir gibts ab 7 Fehler, aber auch ohne den sieht's gut aus.
Edit^2: Zack! Schon das nächste Problem, was ich nicht lösen konnte.
Die Bewegung der Dichte nach dem Vektorfeld.
Aber erstmal noch ein Link zu einer Pdf, die Jos Stam, der Entwickler dieser Vorgehensweise etc., selbstgeschrieben hat 3. Link
Dort auf Seitte 7/8 ist ein Code. Ich hab den mMn richtig umgesetzt, aber irgendwas muss wohl schiefgelaufen sein:
Ich hab diesmal statt 1 H und statt 0.5 H/2 eingesetzt. Natürlich hab ichs schon andersrum probiert, aber immer mit dem gleichen Ergebnis. Das Program stürzt ab: :/
Hoffe, jemand kann mir helfen. Bye!
Edit: Konnte einen kleinen Fortschritt machen, hab die Sachen oben korrigiert. Geht zwar kurz, stürzt dann jedoch ab...