Wave Simulator 1.2

    • Release

    Es gibt 35 Antworten in diesem Thema. Der letzte Beitrag () ist von gabriel-b.

      @Lightsource: Puh, Du stellst Dir da aber was vor.
      Reflexionen sind deswegen schwierig, weil ich dann aus einzelnen Wellen Bereiche herausschneiden müsste bzw. Wellen gewisse Winkel geben müsste. (Bild im Anhang).

      Mit Beugungen weiß ich jetzt nicht was gemeint ist.

      Das mit der Farbe zum Radius lässt sich machen. Das werde ich einbauen. (Mit Auswahl: Farbe fest/zunehmend)

      Mit Interferenzen meinst Du vermutlich den Hintergrund an Positionen wo sich Wellen treffen stärker einzufärben als da wo sich sich nicht treffen. Das wäre auch möglich, würde aber mit ziemlicher Sicherheit die Framerate in den Keller treiben. Man könnte es ein- und ausschalten. Das wird vielleicht noch kommen; ich habe auch schon was im Kopf wie es sich umsetzen lässt. Aber wie gesagt: Es wird an der Framerate ziehen.

      Mit 3D wird's insofern ziemlich kompliziert, weil mir da einfach die Bedienung zu umständlich wird. Wenn man z.B. genau die X-Y-Ebene ansieht kann ein neuer Punkt irgendwo auf der Z-Achse liegen. Darüber hinaus: Die Framerate sinkt jetzt schon bei vielen Wellen in den Keller, wie wird's dann in 3D aussehen?


      Aber: Die Ideen sind gut. Nicht einfach umzusetzen, aber gut.
      Bilder
      • Unbenannt.png

        7,13 kB, 389×313, 107 mal angesehen
      "Luckily luh... luckily it wasn't poi-"
      -- Brady in Wonderland, 23. Februar 2015, 1:56
      Desktop Pinner | ApplicationSettings | OnUtils
      Sehr interessant, gut umgesetzt, und es ist interessant mit rum zu spielen! :D

      Greetz
      Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
      "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
      "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

      Niko Ortner schrieb:

      @Lightsource: Puh, Du stellst Dir da aber was vor.
      Reflexionen sind deswegen schwierig, weil ich dann aus einzelnen Wellen Bereiche herausschneiden müsste bzw. Wellen gewisse Winkel geben müsste. (Bild im Anhang).


      Wäre auf jeden Fall ein Anfang


      Niko Ortner schrieb:


      Mit Beugungen weiß ich jetzt nicht was gemeint ist.


      Beugungen entstehen, wenn eine Wellenfront durch einen Spalt, bzw. enge Röhre wieder
      nach außen tritt, dann wirkt der Spalt wie ein neuer Emitter.


      Niko Ortner schrieb:


      Das mit der Farbe zum Radius lässt sich machen. Das werde ich einbauen. (Mit Auswahl: Farbe fest/zunehmend)


      Das wäre dann eine Darstellung der Dämpfung. Auch sinnvoll. :)
      Wellen schwächen ja schließlich mit der Zeit (auch abhängig vom Medium) ab.

      Nein, das was ich meine wäre eine Darstellung von Wellenberg/Nullwert/Wellental
      oder bei Schallwellen eine Darstellung der Mediumsdichte.

      Stell dir einfach mal vor, du wirfst mehrere Steine in einen ruhigen Teich.
      Wie würden sich die Wellen überlagern?
      Wie könnte man das darstellen?


      Niko Ortner schrieb:



      Mit Interferenzen meinst Du vermutlich den Hintergrund an Positionen wo sich Wellen treffen stärker einzufärben als da wo sich sich nicht treffen. Das wäre auch möglich, würde aber mit ziemlicher Sicherheit die Framerate in den Keller treiben. Man könnte es ein- und ausschalten. Das wird vielleicht noch kommen; ich habe auch schon was im Kopf wie es sich umsetzen lässt. Aber wie gesagt: Es wird an der Framerate ziehen.


      Da könnte ich mir vorstellen, dass du für jeden Punkt im Raum die dort herrschenden Intensitäten addierst.
      Das wäre ja auch erst mal in einem Offline-Modus möglich.


      Niko Ortner schrieb:



      Mit 3D wird's insofern ziemlich kompliziert, weil mir da einfach die Bedienung zu umständlich wird. Wenn man z.B. genau die X-Y-Ebene ansieht kann ein neuer Punkt irgendwo auf der Z-Achse liegen. Darüber hinaus: Die Framerate sinkt jetzt schon bei vielen Wellen in den Keller, wie wird's dann in 3D aussehen?


      Aber: Die Ideen sind gut. Nicht einfach umzusetzen, aber gut.
      Programmiers mit XNA nach, das ist u.U. performanceschonender als die jetzige Methode (ich weiß allerdings nicht, wie du es jetzt machst, ich vermute, mit GDI und ein bisschen GPU-Zeug).

      Da bekommt er wohl fast gar keine Geschwindigkeit raus, denn die Wellen sind nur ein paar Kreise, die Berechnungen sind das, was Zeit kostet und das müsste er dann auf die GPU auslagern, ist glaube ich erst mit DX 11 möglich(DX 11 Graka)...
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      @Samus Aran: Mit XNA habe ich noch nie gearbeitet. Worin besteht da der Unterschied zu GDI+? (Außer, dass 3D Umsetzungen vielleicht einfacher sind)

      @Lightsource: Aha, so war das mit den Farben gemeint. Das mit den Winkeln wird eine echte Herausforderung. (Das Einbauen selbst geht ja, aber die Winkel richtig zuzuweisen wird nicht einfach).
      Das mit den Beugungen funktioniert erst dann, wenn Reflektionen und Winkel eingebaut sind.
      Das mit den Wellenbergen und -tälern könnte ich mir so vorstellen, wie ich es im Bild im Anhang habe.

      Dann hätten wir zu guterletzt noch die Interferenzen: Jeden Punkt im Raum einmal abzutasten wird schwierig, weil ich hier mit Double arbeite. Also müssten es riesige Schleifen sein, die ewig dauern würden. Ich würde da eher daran denken alle Schnittpunkte der Wellen zu suchen und dort mit Transparenz mehrere Ellipsen mit unterschiedlichen Größen zu zeichnen. Das wäre auch nicht ideal aber es würde auf jeden Fall weniger lange dauern.


      Und Edit:
      Wenn's um die Geschwindigkeit beim Berechnen geht: einfach nur eine Zahl zum Radius addieren geht eigentlich ganz schnell. Erst wenn dann Reflektionen kommen werden die Berechnungen komplizierter.
      Bilder
      • Unbenannt.png

        23,77 kB, 693×797, 126 mal angesehen
      "Luckily luh... luckily it wasn't poi-"
      -- Brady in Wonderland, 23. Februar 2015, 1:56
      Desktop Pinner | ApplicationSettings | OnUtils
      Werden die Dinge in XNAs Update()-Methode nicht auf der GPU ausgeführt? :/

      Wäre mir allerdings neu und irgendwo auch blödsinn, da das auslagern auf die GPU wiederum Zeit benötigt, ich finde es sollte deshalb dem Programmierer überlassen bleiben was er nun auslagern will.
      Soweit ich informiert bin, kann man nun mit der neusten Shader Version(weiß nur nicht ob die in XNA bereits implementiert wurde) Berechnungen selbst auf die GPU auslagern lassen.

      Wäre es dennoch so, dass Update in der GPU ausgeführt wird, dann müsste der Code ja an die GPU angepasst werden, da dort die Rechnungen ja etwas anders ablaufen und Dinge wie Math... ja nicht vorhanden sein sollten.
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      Vielen Dank.


      PS: Es geht mit den Reflektoren, etc. voran. Allerdings werden sich die Wände immer über den gesamten Bildschirm erstrecken und immer horizontal oder vertikal sein. Denn so etwas: ist mit dem Programm einfach nicht umsetzbar (dafür war es auch nicht ausgelegt und ich wüsste auch nicht wie ich das zeichnen lassen sollte; geschweige denn ausrechnen...).
      "Luckily luh... luckily it wasn't poi-"
      -- Brady in Wonderland, 23. Februar 2015, 1:56
      Desktop Pinner | ApplicationSettings | OnUtils
      Wenn ich so etwas programmieren wollte (bzw. müsste) würde ich wahrscheinlich eine Render Engine verwenden.
      Also praktisch von einem Ausgangspunkt (Licht bzw. Schallwelle) einen Strahl verfolgen der von den unterschiedlichen
      Formen und Materialien reflektiert wird. Dazu käme dann noch die Wellenberg und -Tal Darstellung der
      Schwingungen.

      Vielleicht hat ja jemand Lust so etwas mit DirectX zu programmieren?

      Niko Ortner schrieb:

      Haha, Nun, es ist so: Wohin mit dem Button für das About Fenster? Wenn es mit der F1 Taste geht würde ich das schon machen.

      Ich weiß jetzt nicht ob das über den f1 - Button geht aber schau mal hier. Vielleicht ist das ja hilfreich, auch wenn schon länger niemand mehr hier etwas gepostet hat.



      PS: Hier einige Bilder, die ich mit dem Wave-Simulator kreiert habe!
      There are only 10 types of poeple in the world: Those who understand binary and those who don't.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Sky Super“ ()