Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mär 28, 2024 09:10

Foren-Übersicht » DGL » News
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [DELPHI] IOTW Preview ;-)
BeitragVerfasst: Fr Dez 09, 2005 15:11 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3827
Wohnort: Tespe (nahe Hamburg)
Wirklich viel ist nach dem Aufruf Bilder für das IOTW zu schicken nicht gekommen, aber Al war bisher stets fleissig. Bevor alles beim mir im Postfach versauert, gibts einen Beitrag einmal für Euch hier in den News. Danke für diese Einsendung.

Bild

Kennt ihr das? Ihr bekommt zum x-ten mal etwas erzählt, dass ihr schon seit Jahren wisst?
Ich hasse sowas - und wir machen in der Schule gerade Vektorrechnung, also Addieren, Subtrahieren, vor ein paar Tagen haben wir das Punktprodu äh pardon Skalarprodukt eingeführt. *BuhHeulSchluchz* Ich könnt heulen. Wie gut, dass man sich dann Nachmittags vor den PC setzen und als Ausgleich die wildesten Vektorrechnungen proggen kann.
Ich hab mich also mal hingesetzt und mir etwas angeguckt, was ich schon immer mal machen wollte: Fast Fluid Dynamics. Und ich muss sagen, wenn man es nicht zu genau nimmt, kann man recht schnell gute Ergebnisse bekommen. Nach ein wenig Googeln hab ich dieses Tut gefunden

Real-Time Fluid Dynamics for Games (PDF)

was meiner Meinung nach ein recht guter Start ist, weil man mit den Sources direkt was Proggen und sehen kann. Ich hab dann noch die Gradientenberechnung in der Helmholtz-Hodge-Decomposition geändert, und dann hatte ich nach nem halben Nachmittag ne ganz gut funktionierende Basis.
Und weil ich auch sonst immer recht zündelnde Ideen habe, is mir dieser alte Artikel wieder eingefallen:

Fluid Fire
http://freespace.virgin.net/hugo.elias/models/m_ffire.htm

Allerdings habe ich zusätzlich zu den Eigenschaften Sauerstoff, Brennstoff und Hize noch die Abgase (schwarzer Qualm) eingebaut.

Zum Schluss noch etwas Vorticity Confinement (Lohnt sich wirklich)

Visual Simulation of Smoke (PDF)

und man kann die schönsten Explosionen simulieren.

Die 12 kleinen Pics zeigen die Simulation einer Explosion im Abstand von 20 Frames. Ich finde man kann sogar eine leicht pilzartige Form erkennen. Das größere Pic unten links in der Ecke zeigt die Strömungsrichtungen (schwarze Linien), sowie Sauerstoff (blau), Brennstoff (grün) und Hize (rot). Dachte, da kann man mal die Strudel etwas besser sehen kann.
Die Simulation läuft auf meinem System (AMD XP 2800+) mit einer Auflösung des Vektorfeldes von 128x128 mit immer hin 11 FPS.

Hoffe euch gefallen die Bilder, auch wenn sie nicht so viel mit OGL zu tun haben...

AL

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Zuletzt geändert von Phobeus am So Dez 11, 2005 19:43, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 09, 2005 16:34 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
*Hut ab* Schaut chic aus ;)

Und das du dich da durch diese Tutorials durchgearbeitet hast... Also mir wär' das zu mathematisch ^^

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 09, 2005 17:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Wow, ich bin begeistert. Wirklich saubere Arbeit!
Ich hab die PDFs mal überflogen, und muss schon sagen, dass das sehr komplex aussieht. Aber deine Ergebnisse sind auf jedem Fall sehr anspornend, ich schreib das mal auf meine ToDo-Liste ;)
Und heute nacht werd ich ned schlafen können, weil ich fieberhaft überlegen werde, wie man das Ganze performance-optimieren könnte.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 09, 2005 22:40 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Danke erst mal fürs Feedback. :D

Auf den ersten Blick sehen die Artikel natürlich sehr mathematisch aus, aber wenn man sich mal ein bisschen da reindenkt, ist es eigentlich ganz gut nachvollziehbar (Man muss nur wissen, was Nabla ist). Zummindest reicht es aus, um so einen kleinen Integrator zu schreiben. Wie realistisch der nun ist, is ne andere Frage, aber er soll ja auch nur nett aussehen.

Zitat:
ich schreib das mal auf meine ToDo-Liste Wink

Wenn sich genügend Leute dafür interessieren, könnte ich ja mal meinen Code ein bisschen säubern und posten...

Zitat:
Und heute nacht werd ich ned schlafen können, weil ich fieberhaft überlegen werde, wie man das Ganze performance-optimieren könnte.


Damit du heute Nacht gut schlafen kannst:
Ausgehend von dem obersten Artikel sollte man zunächst einmal die Advektion und Diffusion der Geschwindigkeit nicht für die Komponenten getrennt machen. Dann wird der Code zwar länger, aber man spart sich z.B. bei dem Backtracing das mehrfache Berechnen der Interpolationsfaktoren. Das kann man dann vielleicht (Das hab ich nicht getestet) auch noch auf die anderen Eigenschaften übertragen, also die Berechnungen für die "Stoffe" im Medium und die Berechnungen für das Medium selber nicht getrennt sondern zusammen machen. Dann kann man noch mehr einsparen. Aber wie gesagt, letzteres hab ich noch nicht getestet...

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Stable Fluid Algorithmus
BeitragVerfasst: Di Jan 10, 2006 15:57 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 03, 2003 18:38
Beiträge: 33
Hallo Leute,

ich benutze den Algorithmus um Wasser in Rohrleitungen zu animieren. Nur leider ist das Problem das die Geschwindigkeit der Simulation ziemlich gering ist. Auf den Cellprozessor kann ich nicht warten, also muss ich einen anderen Weg finden die Sache zu beschleunigen. Die Schritte in einer Funktion zusammenzuführen ist eine Klasse Idee. Wär kool wenn man mal den Code dazu sehen könnte. Hab mir auch schon überlegt die Berechnung des Fluidgitters auf bestimmte Zeitpunkte zu beschränken und den Zeitschritt entsprechend gross zu wählen. Die Zwischenzustände des Fluids könnte man dann linear Interpolieren. Eine andere Möglichkeit die Sache zu beschleunigen besteht in der Verwendung von Octtrees bzw. Quadtrees.
Den Fluss visualisiere ich mit Partikeln, hat jemand einen Plan wo es ein Tuturial für eine richtig schnelle Partikelengine gibt.? Leider kann ich nicht mit GL_ARB_PointSprites arbeiten da meine Graka das nicht unterstützt.
Finde es toll das, dieses Thema hier behandelt wird. Schließlich gibt es den Algorithmus schon seit 1998. Hier hab ich noch den Link zu einer deutschen Diplomarbeit zum Thema Rauchsimulation mit dem SFA http://www.coplabs.org/.
cu.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 10, 2006 17:36 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Zitat:
leider ist das Problem das die Geschwindigkeit der Simulation ziemlich gering ist. Auf den Cellprozessor kann ich nicht warten, also muss ich einen anderen Weg finden die Sache zu beschleunigen.


Es gibt sicherlich viele Möglichkeiten das zu beschleunigen. Das große Problem ist nur, wie bei allen Volumetrischen Berechnungen, dass der Aufwand mit O(n³) zunimmt. Meine Simulation ist nur 2D da ist der Aufwand geringer. Es gibt jedoch Möglichkeiten, 3D Simulationen aus wenigen 2D Simulationen wie X Billboards zusammen zu setzen, und dann dazwischen zu interpolieren. Dazu hab ich irgendwo mal n Paper gesehen. Finds nur gerade nicht wieder...

Ansonsten kann ich nur dazu raten, die Auflösung runter zu drehen, und die dadurch auftretende Ungenauigkeit mit Techniken wie diesem Vorticity Confinement auszugleichen, so gut es geht.

Du sagst du verwendest Partikel. Hmm, ich hab die Dichte durch ein Skalarfeld definiert, und da die Advectionsberechnungen für die Dichte und die Geschwindigkeit im Grunde identisch sind, könnte man die zusammen ziehen, was an der Stelle den Aufwand halbieren würde. Mit Partikeln geht das nicht ganz so einfach, aber du könntest die Partikel in ein Gitter einordnen, und dann beim Advectionsschritt der Geschwindigkeit auch auf die Zelle des jeweiligen Gitters zugreifen, um die Particel von dort zu bewegen.

Zitat:
Die Schritte in einer Funktion zusammenzuführen ist eine Klasse Idee.


Es macht den Code extrem kurz, was beim Verständnis ziemlich hilft (weils übersichtlicher ist, und man die Analogien sofort sieht), aber es macht ihn nicht unbedingt effizient. So werden für das Skalarfeld und für das Vektorfeld die gleichen Funktionen benutzt, wobei beim Vektorfeld die Komponenten voneinander getrennt betrachtet werden. Der Code ist dadurch zwar sehr kurz, aber es gibt ne menge Dinge, die 2x (für 2D, bei 3D dann 3x) berechnet werden, was eigentlich nicht sein müsste.

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: SFA
BeitragVerfasst: Mi Jan 18, 2006 12:10 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 03, 2003 18:38
Beiträge: 33
Zitat:
Es gibt sicherlich viele Möglichkeiten das zu beschleunigen.


Ist doch eine Herausforderung der man sich hier im Forum stellen könnte. Hat den jemand Bock eine schnelle Fluid Engine mitzuentwickeln.?

Zitat:
Ansonsten kann ich nur dazu raten, die Auflösung runter zu drehen.


Geht leider nicht, da ich das Volumen mit Hilfe inkrementaler Dreieckvoxelisierung berechne. Die Vorlage bilden Vrml Modelle die dann entsprechend ihrer Form in Volumendaten umgewandelt werden. Um nun ein halbwegs befriedigendes genaues Ergebniss bei der Simulation zu erzielen muss die Aufloesung schon ziemlich hoch sein.

Bin jetzt dabei den Fluss mit mehren 2D Gittern zu berechnen, so wie du das schon angemerkt hast. Wär richtig gut wenn du das erwähnte Schriftstück noch auftreiben könntest. Ausserdem würde ich mich freuen den Code deiner 2D Lösung anzuschauen.

Wissen vermehrt ich nur wenn man es teilt. In diesem Sinn Mfg.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 18, 2006 13:09 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Unser Forum ist nicht bocklimitiert, sondern zeitlimitiert. ;)
Deshalb wird es schwer werden mitstreiter zu finden. :(

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 18, 2006 15:01 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Habs gefunden:

"Smoke Simulation For Large Scale Phenomena"
http://pixel.ecn.purdue.edu:8080/projec ... 003-02.pdf

Du hast ja Röhren, da müsstest dus halt an der Längstaxe der Röhre ausrichten. Ka, obs klappt.


Ansonsten einfach mal hier vorbeischauen. Allein die Videos sind schon eindrucksvoll..
http://graphics.stanford.edu/~fedkiw/



Für ne richtige ausgereifte Engine hab ich definitiv zu wenig Ahnung von dem Zeugs. Meinen SrcCode könnte ich ja mal herausputzen und Posten. Im mom enthält der rein gar keine Kommentare, was ihn nicht sehr gerade angenehm zu lesen macht. Aber selbst dann sollte man es eher als Einstieg in das Thema sehen, und nicht als den perfekten Code...

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 18, 2006 15:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Woah! Die Videos sind echt der Wahnsinn!
Ich schau die mir gerade an, und muss sagen, dass das schon beeidruckende Werke. Ich werd auf jedem Fall mal schauen, was ich für mich daraus lernen kann...viel wirds ned sein ;)

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [DELPHI] IOTW Preview ;-)
BeitragVerfasst: Mi Jul 12, 2006 13:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Den Link von oben (Real-Time Fluid Dynamics for Games (PDF)) habe ich mal den Student zukommen lassen der im Rahmen des Summer of Code einen "Sky Generator" für Blender schreibt.

Er fand das pdf ziemlich gut und hat mir auch einen Link geschickt:
http://ofb.net/~niniane/clouds-jgt.pdf

Habe selber noch nicht Zeit gefunden mich damit zu beschäftigen, aber hier gibt es bestimmt jemanden der sich dafür interessiert ;)

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 12, 2006 15:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Vielen Dank!

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 09, 2006 17:41 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
ich beschäftige mich schon einige zeit mit dem tutorial und ich muss sagen, ich bekomme garnix gebacken :(
wer will kann sich ja mein posting im df anschauen, hier noch einen thread zu starten wäre wohl zu viel des guten

http://www.delphi-forum.de/viewtopic.php?t=65342


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » DGL » News


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.036s | 17 Queries | GZIP : On ]