Simulation von Synapsen



  • Hallo,

    ich war schon lange nicht mehr hier aber ich hätte da eine Prinzipfrage und glaube dass Ihr die Antwort dazu am besten kennt.

    1. Problemstellung:
      ich würde gerne zweidimensional einen Dendriten mit seinen Dornfortsätzen (Spines) zeichnen. So sieht so etwas aus: http://upload.wikimedia.org/wikipedia/commons/b/b1/Dendritic_spines.jpg
      Der Dendrit soll waagrecht verlaufen und nur durch zwei Linien dargestellt werden. Der Dendrit ist aber kein Faden, sondern mit Spines bestückt. Diese können verschieden aussehen: wie Pilze, wie Fäden oder nur wie Knubbel.
      So, jetzt ist es aber so, dass diese Spines dynamisch ineinander übergehen, sprich aus einem Pilz wird mal ein Knubbel oder aus dem Dendriten schaft stülpt sich ein neuer Pilz-Spine heraus.
      Diese dynamischen Übergänge würde ich gerne simulieren. Beispiel:
      Zeitpunkt 1: Dendrit aus dem 3 Pilz-Spines wachsen
      Zeitpunkt 2: ein neuer Knubbel-Spine kommt hinzu
      Zeitpunkt 3: Aus dem Knubbelspine wird ein Pilz-Spine und einer der drei Pilz-Spines verschwindet wieder im Dendritenschaft
      ... usw ...
      Am Ende hätte ich am liebsten soetwas wie eine Grafikanimation als GIF oder als AVI-File.

    2. Kenntnisse:
      Ich habe mit Grafikprogrammierung keine Erfahrung. Kann aber C, C++ und habe mich lange mit der VCL rumgeschlagen. C# bin ich gerade am einsteigen...

    3. Fragestellung:
      Wie realistisch ist so eine Umsetzung? Wieviel Zeit würde die Programmierung in Anspruch nehmen? Welche Bibliotheken oder "Grafik-Systeme" könntet ihr empfehlen? Prinzipiell: überhaupt für mich machbar, wenn ich mich sagen wir mal 2 Wochen volltags damit beschäftige?

    Besten Dank und verzeiht mir Rechtschreibfehler,
    Simon


  • Mod

    geht es dir jetzt nur ums zeichnen und du weisst wie du die ganze simulation der synapsen machst?

    in dem fall wuerde ich dir 2d metaballs empfehlen, siehe:
    http://www.youtube.com/watch?v=ObqF7aFg_tg

    du kannst alles in deiner simulation aus punkten und potentiallen erstellen und zum zeichnen kannst du diese daten dann direkt nutzen indem du pro pixel das potential evaluierst und anhand dessen die farbeintensitaet bekommst (sieht dann aus wie in deinem beispiel bild, denke ich).



  • Hallo,

    ja das ist eine gute Frage. Ich weiß ja nicht, was es überhaupt für Möglichkeiten gibt. Ich kann mir vorstellen, dass man im Prinzip eine Linie hat und sozusagen drei Punkte dort definiert an denen sozusagen "gezogen" wird und sich dann die Struktur ausbildet. Kann mir aber auch vorstellen, dass man Animationen vorbastelt und die dann nur der Reihe nach zusammenbaut.
    So wie dieses Bild dachte ich mir könnte es rudimentär ablaufen: https://www.dropbox.com/s/4p85jwtfa2q0fwy/syn.jpg
    Die Dynamik von Metaballs sieht ganz gut aus, aber ist das nicht auf kugelförmige Objekte beschränkt?

    Grüße



  • PCMan schrieb:

    Am Ende hätte ich am liebsten soetwas wie eine Grafikanimation als GIF oder als AVI-File.

    Muss es dann überhaupt was selbstprogrammiertes sein? Klar kann man das machen, gibt sicher auch nen hübschen Effekt für ne scene demo ab, aber eventuell kommst du durch Anwenden (nicht selbst schreiben) eines Animationsprogramms schneller als Ziel.



  • Hallo,

    nein es muss nicht zwangsläufig selbstprogrammiert sein. Wichtig ist nur, dass ich quasi durch Anweisungen die Animation generieren kann.
    Einfaches Beispiel:

    1:nnnnnnnnnnnnnnnnnnnnn //nichts
    2:nKnnnnnnnnnnnPnnnPnnn //es entsteht ein Knubbel und zwei Pilze
    3:nKnnnnnnnnnnnKnnnPnnn //Aus dem ersten Pilz wird ein Knubbel
    4:nKnnnnnPnnnnnKnnnnnnn //der zweite Pilz verschwindet und ein neuer Pilz kommt dazu
    

    Grüße,
    Simon



  • Ah ok, ein Bischen was programmieren müsste man also schon. Falls es ein Entsprechendes Tool mit eingebauter Scriptsprache gibt, eventuell dadrin.

    Na gut:
    "Wie realistisch ist so eine Umsetzung?"
    - Sollte machbar sein, also sehr realistisch würde ich sagen. 😉

    "Wieviel Zeit würde die Programmierung in Anspruch nehmen?"
    - Kann stark variieren. Jemand, der sowas gut kann, bekommt vielleicht an einem Tag was lauffähiges hin, aber da du ja auch "Ich habe mit Grafikprogrammierung keine Erfahrung" geschrieben hast, könnte es etwas länger dauern. Ob das mit den 2 Wochen vollzeit bei dir hinkommt, weiß ich nicht. Hängt ja auch davon ab, wie hübsch das Ergebnis sein soll.

    "Welche Bibliotheken oder "Grafik-Systeme" könntet ihr empfehlen?"
    - Ich würde da vermutlich erstmal naiv mit OpenGL drangehen, aber es gibt möglicherweise schon Sachen, bei denen du da nicht von Null anfangen musst.

    Muss es denn nur einmal in Ruhe bei dir laufen und dann das entsprechende Video generieren oder soll es in Echtzeit für eine Präsentation den Input entgegennehmen und dann live hübsche Sachen machen?



  • Hi,

    danke für deinen Input.
    Es reicht vollkommen, wenn das Programm mir das Video erstellt. Es ist nicht nötig Manipulationen in Echtzeit zu generieren.

    Besten Dank,
    Simon



  • OpenGL könnte eventuell ein Bischen viel werden, um in der kurzen Zeit damit klar zu kommen. Du kannst dir ja mal die CImg Library angucken. Bei den Samples sind sogar metaballs dabei. Video-Output hat das, soweit ich weiß, nicht. Aber du könntest ja Einzelbilder exportieren und die dann mit einem anderen Programm zusammenfügen, oder das ganze mit Fraps oder kkapture grabben.
    Ansonsten kann man mit OpenCV auch gar nicht mal so schlecht malen, Videoexport gibt's auch.


Anmelden zum Antworten