kostenloser Webspace werbefrei: lima-city


Wasser programmieren

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    toolz

    Kostenloser Webspace von toolz

    toolz hat kostenlosen Webspace.

    Ich bräuchte einmal ein paar Denkanstöße, wie ich realistisches Wasser programmieren kann. Ich habe schon viel gesucht und selbst entworfen, aber das entsprach alles nicht meinen Prämissen:

    1. Das Meer besteht aus einer Reihe von Punkten, die von oben gesehen fest sind
    2. Die Amplitude geht von 0 bis 1
    3. Ich muss die Zeit langsamer laufen lassen können, ohne dass die Wellen springen oder sich anders verhalten
    4. Möglichst schnell und speicherfreundlich sollte es auch noch sein

    Ich freue mich über Denkanstöße.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Lege Wellen aus animierten Gif's über ein Wasser Wallpaper.
  4. vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Sowas habe ich selbst zwar noch nicht gemacht, aber ich würde folgendermaßen vorgehen:

    1. Für die Wellen brauchst du erstmal einen Initiator, also ein Objekt, das ein bestimmtes Gewicht hat
    2. Die Teilchen müssen gegeneinander eine Anziehungskraft besitzen, dessen genauen Wert ich mal deinem Feintuning überlasse.

    Los Gehts:

    3. Das Objekt fällt auf die Wasseroberfläche, beim Aufprall wird es abgebremst, entsprechend der Summe aller Anziehungskräfte, der gedehnten Teilchen (kommt in 4.), wobei näherungsweise die Anziehung zwischen Objekt und Wasserteilchen vernachlässigt wird (wird sonst unnötig kompliziert).
    4. Wie in 3. erwähnt, werden die Teilchen nun gedehnt, wobei äußere Teilchen nachrücken, bis alle Teilchen auf ihr Maximum gespannt sind (zu diesem Zeitpunkt gilt: Gewichtskraft des Objekts = Summe aller beteiligten Anziehungskräfte)
    5. Jetzt bricht die Wasserfront, die Punkte beginnen sich oberhalb des Objekts zu treffen und das Objekt selbst sinkt in das Wasser hinein.
    6. Jetzt wo das Wasser bricht und die maximale Dehnung erreicht ist, ist damit auch deine relative Amplitude gegeben, die du dann als 1 definieren kannst.
    7. Die Anziehungskräfte der umliegenden Teilchen ziehen die heruntergedrückten wieder nach oben, wobei > -100% der Ausgangstiefe (also < 100% Höhe) erreicht werden, wobei der zentrale Punkte quasi wiederrum als Objekt wirkt, welche die umliegenden Teilchen aber diesmal hoch "zieht". Als Berechnungsansatz würde ich hier das Newtonsche Pendel empfehlen.
    8. Wenn die Punkte ein Array sind und du die Wirkung jedes Teilchens diskret berechnest, ist deine Aufgabe hier quasi schon getan, da sich auf Grund der Zeitdifferenz automatisch ein Wellenmuster ausbildet.

    Wie gesagt, nen Code kann ich dir leider nicht liefern, aber vllt inspiriert es dich wenigstens. ;)

    Liebe Grüße
    - VampireSilence

    Beitrag zuletzt geändert: 23.11.2010 19:32:47 von vampiresilence
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!