Physik-Schleife



  • Man muss einen Schleifendurchlauf ja zeitlich festsetzen, um Phsyik berechnen zu können.
    Meine Frage ist: Was ist die beste und genauste Methode, um das zu erreichen?
    Man könnte natürlich Sleep() benutzen, aber bei vielen Operationen in der Schleife braucht ein Durchlauf ja ohnehin schon mehr Zeit, um durchzulaufen, deshalb dauert es insgesamt ja länger als der Wert, den man in Sleep() übergeben hat, oder sehe ich das falsch?


  • Mod

    prs14 schrieb:

    Man muss einen Schleifendurchlauf ja zeitlich festsetzen, um Phsyik berechnen zu können.

    Nein.

    Meine Frage ist: Was ist die beste und genauste Methode, um das zu erreichen?
    Man könnte natürlich Sleep() benutzen, aber bei vielen Operationen in der Schleife braucht ein Durchlauf ja ohnehin schon mehr Zeit, um durchzulaufen, deshalb dauert es insgesamt ja länger als der Wert, den man in Sleep() übergeben hat, oder sehe ich das falsch?

    Was immer du auch möchtest, sleep ist höchstwahrscheinlich nicht die richtige Lösung.

    Was uns zur Frage bringt: Was möchtest du? Versetz dich mal in jemanden hinein, der dich nicht kennt, der nicht weiß, was du möchtest und der kein Wahrsager ist. Könnte dieser jemand nach dem Durchlesen deines Beitrages wissen, wovon du überhaupt redest? Lies dir bitte mal den ersten Link in meiner Signatur durch, insbesondere den Verweis auf
    http://www.tty1.net/smart-questions_de.html



  • Ok, ich habe mich wirklich unklar ausgedrückt.
    Das, was ich letzendlich meine, ist die Begrenzung einer Schleife auf eine bestimmte Framerate. Was ist da die beste Methode?



  • prs14 schrieb:

    Ok, ich habe mich wirklich unklar ausgedrückt.
    Das, was ich letzendlich meine, ist die Begrenzung einer Schleife auf eine bestimmte Framerate. Was ist da die beste Methode?

    Schreibst Du ein Spiel und Du moechtest darin ein bischen "Physik" haben?



  • Es geht nicht direkt um ein Spiel, sondern einfach nur eine Physiksimulation.



  • prs14 schrieb:

    Es geht nicht direkt um ein Spiel, sondern einfach nur eine Physiksimulation.

    was brauchst du da für schleifen?

    du musst halt die physikalischen gesetze, z.b. die newtonschen-gesetzte implementieren, um so z.b. zu simulieren, wie ein stein fällt usw.


  • Mod

    prs14 schrieb:

    Es geht nicht direkt um ein Spiel, sondern einfach nur eine Physiksimulation.

    Aber schon so als Spielerei zum Angucken auf dem Bildschirm, oder? Nichts, wo weder die Richtigkeit des Ergebnisses wichtig ist, noch die Geschwindigkeit mit der man das Ergebnis bekommt. Sondern bloß just for fun etwas das aussieht wie Physik.

    Ich gehe jetzt einfach mal davon aus, dass du so etwas meinst:
    Jedenfalls ist, wie schon gesagt, die Annahme, dass die Updaterate konstant sein muss, falsch. Es reicht zu wissen, wie viel Zeit seit dem letzten Schritt vergangen ist. Und die kannst du schlicht und einfach messen.

    Prinzipiell ist es auch möglich, den Updateschritt an einen Timer (sollte bei deinem Ausgabeframework dabei sein) zu koppeln. Würde ich aber nicht machen. Das führt bloß zu Problemen bei der Synchronisation mit dem Ausgabeschritt. Koppel lieber das Physikupdate an den Ausgabeschritt.



  • Kann die Fragestellung etwas mit der Schüleraussage "Physik ist wo nicht geht" zu tun haben? 😕


Log in to reply