Ich möchte eine Physik-Engine selber schreiben und brauche Hilfe bei der Physik!



  • Walli schrieb:

    Die erinnerung schrieb:

    Also wenn ich die Grundlagen nicht schaffen sollte, glaube ich würde es keiner schaffen. Ich habe im Gebiet der Logim einen IQ von 140! Und dass will was heißen!

    Ratschlag für die Zukunft: Wenn man Hilfe braucht, nicht so tun als bräuchte man sie eigentlich nicht :D.

    Ich kann die Grundlagen aber noch nicht und deshalb bin ich hier. ich weiß auch nicht, wo ich mir solches Wissen aneignen kann.

    So ok. ich habe heute (leider) nicht genug zeit, um mir alles durchzulesen.

    Deshalb.

    1. Wir nehemen an, ich hätte das problem mit der Kollisionserkennung verstanden (das lese ich mir morgen durch und verstehe es dann 😃 )
    2. Wir nehmen an, ich hätte eine 2D-Raum
    3. Jetzt müsste ich wissen, wie amn berechenet, wenn ein solches Quadrat auf eine Kante fällt und überkippt, wie man das berechnent. (erstmal ohne Reibung und elastische Kollisionen) Also ein Quadrat fällt auf eine Kante und kippt über, ohne dass das Quadrat abrutscht, noch dass es wieder zurückspringt.

    kann mir da jemand helfen?



  • Für platzmangel gibt es ja virtuellen Speicher,..

    ist aber nicht gerade performant...



  • Passive Chunks (also, in denen nix passiert) kann man auslagern, den Rest kann man im RAM lassen.

    Mincraft machts ähnlich.



  • Die erinnerung schrieb:

    ... (mit 10 habe ich mir selbst den Schiefen Wurf und mit 12 den Ballistischen Wurf angeeignet (ich bin 16)) ...

    Da sich seine motorischen Fähigkeiten erst sehr spät entwickelt haben, könnte es doch durchaus sein, dass sein Intellekt umso stärker ausgeprägt ist.



  • Ich sprach von der Physik dahinter...



  • sry ich konnt nich anders 🙂



  • @Die erinnerung: Mal ne Frage, wenn du wirklich so inteligent bist, wie du selber schreibst, warum präsentierst du dich dann hier so?



  • Die erinnerung schrieb:

    Ich sprach von der Physik dahinter...

    Die Physik hinter Kollisionen sind Erhaltungssätze. Energieerhaltung, Impulserhaltung, Drehimpulserhaltung. Das war's schon. Wenn Du die vernünftig mit einander kombinierst, kriegst Du raus, wie sich die Körper nach der Kollision weiterbewegen.



  • Gregor schrieb:

    Die erinnerung schrieb:

    Ich sprach von der Physik dahinter...

    Die Physik hinter Kollisionen sind Erhaltungssätze. Energieerhaltung, Impulserhaltung, Drehimpulserhaltung. Das war's schon. Wenn Du die vernünftig mit einander kombinierst, kriegst Du raus, wie sich die Körper nach der Kollision weiterbewegen.

    Nur bei Stößen extremer form(ideal inelastisch/elastisch)



  • Fang mit 2D an und suche dir Beispiele: Polycolly.zip enthaelt ein recht gutes Tutorial mit miserablem Code. Macht aber nichts, denn soviel Code gibt es nicht. Einfach mal danach suchen und Bescheid sagen, wenn sich diese Datei noch irgendwo im Internet befindet.



  • Anstatt Lennard Jones könnte man für Würfel auch Leicht deformierte (axiasymmetrische) Rechteckpotentiale verwenden.
    Am besten einen Gaußgefitteten /gefalteten,
    dann hätte man jedenfalls einen realitätsnäheren Fall.
    (Die Gegenkraft nimmt, angenommen, exponential mit der Penetrationstiefe zu,
    bevor es zurückfedert.., wird das Maximum des Potentials überschritten deformiert
    sich der Körper (elastisch), ansonsten "federt" dieser ab einen gewissen Zeitpunkt zurück (inelastisch))

    Damit der Würfel durch die Potentialgleichungen resultierend auch
    Rotationsbewegungen ausüben kann, müssen die Felder an drei (linear) unabhängigen
    Punkten innerhalb des Würfels berechnet werden, welche IMMER fix zueinander sind.
    Jeder dieser Punkte hat dann seinen Ort und seine vektorielle Geschwindigkeit
    gespeichert.

    Inelastisch:
    Der Würfel lässt sich also aus drei zueinander festen Vertices (hier ist jetzt
    nicht das Raumelement, sondern wirklich der "Ort", quasi vektor, gemeint. Siehe post vorher.) darstellen.
    Den Ort des Würfels ist der Vektor auf den ersten dieser Vertices. Die Normale
    kannst du aus dem Kreuzprodukt der ersten Beiden erstellen. (Falls benötigt)
    Bei der Berechnung der resultierenden Kräfte ist darauf zu achten, das die Kräfte auf
    den Verbindungslinien der Vertices sich kompensieren, bzw Kräfte in gleicher Richtung gewichtet summieren.
    Die Forderung ist ja, das die Vertices zueineander einen konstanten Abstand haben.

    Elastisch:
    Hier wird es kompliziert: Du musst also auch das Potential verändern,
    d.h. es wird dann nicht mehr axialsymmetrisch sein. Leider geht dies auf Speicherlast.
    Es müssen also noch die Potentiale pro Würfel und jeweils pro Seite gespeichert werden. Das würde ich mir für später aufheben.

    Also ich würde dir Vorschlagen:

    Berechne doch mal einen Kraftstoß auf ein Dreieck mit jeweils einen Maßepunkt
    mit der Masse m an der Spitze.
    Stelle die Bewegungsgleichung auf und ermitle explizit die Gleichung für Ort, Geschwindigkeit und Beschleunigung. 💡

    (und hier bitte posten)

    greetz



  • Namenloser342 schrieb:

    Nur bei Stößen extremer form(ideal inelastisch/elastisch)



  • seux schrieb:

    @Die erinnerung: Mal ne Frage, wenn du wirklich so inteligent bist, wie du selber schreibst, warum präsentierst du dich dann hier so?

    Die Frage wurde schon beantwortet: http://de.wikipedia.org/wiki/Dunning-Kruger-Effekt 😃



  • Am lustigsten finde ich eigentlich, wie hier einige wirklich sachliche Tipps geben. 😃

    @Threadstarter: Schreib wie alle anderen Kiddies auch erstmal ein MMORPG!



  • this->that schrieb:

    Am lustigsten finde ich eigentlich, wie hier einige wirklich sachliche Tipps geben. 😃

    Was ist daran lustig? Das ist selbstverstaendlich. 😉

    Wir hatten vermutlich alle mal unsere Zeit, in der wir vielleicht im Info-Kurs in der Schule bei weitem der Beste waren und dachten, dass das auch jenseits davon so waere und wir sowieso alles besser koennen als die anderen. Wir konnten immerhin besser als der Lehrer programmieren. Ich hatte so eine Zeit zumindest. Die Frage ist, wie man dann seine eigenen Grenzen kennenlernt. Ich halte es in so einem Fall fuer gar nicht so dumm, dass man sich grosse Ziele setzt. ...und dann scheitert man. Das ist ok, so eine Erfahrung muss man mal machen und danach ist man auch gleich etwas demuetiger. 😉 WENN der Threadersteller das ganze nicht gefaked hat, dann ist er in so einer Situation, in der er sich fuer den Tollsten und Besten haelt. Ich finde, er sollte selbst herausfinden, wie weit das geht. Das braucht man ihm nicht einpruegeln.



  • zeusosc schrieb:

    ...
    Also ich würde dir Vorschlagen:

    Berechne doch mal einen Kraftstoß auf ein Dreieck mit jeweils einen Maßepunkt
    mit der Masse m an der Spitze.
    Stelle die Bewegungsgleichung auf und ermitle explizit die Gleichung für Ort, Geschwindigkeit und Beschleunigung. 💡

    (und hier bitte posten)

    greetz

    Ich arbeite an den Berechnungen. Ich denke morgen müsste ich fertig sein. ich habe im Moment kaum Zeit.



  • Gregor schrieb:

    this->that schrieb:

    Am lustigsten finde ich eigentlich, wie hier einige wirklich sachliche Tipps geben. 😃

    Was ist daran lustig? Das ist selbstverstaendlich. 😉

    Wir hatten vermutlich alle mal unsere Zeit, in der wir vielleicht im Info-Kurs in der Schule bei weitem der Beste waren und dachten, dass das auch jenseits davon so waere und wir sowieso alles besser koennen als die anderen. Wir konnten immerhin besser als der Lehrer programmieren. Ich hatte so eine Zeit zumindest. Die Frage ist, wie man dann seine eigenen Grenzen kennenlernt. Ich halte es in so einem Fall fuer gar nicht so dumm, dass man sich grosse Ziele setzt. ...und dann scheitert man. Das ist ok, so eine Erfahrung muss man mal machen und danach ist man auch gleich etwas demuetiger. 😉 WENN der Threadersteller das ganze nicht gefaked hat, dann ist er in so einer Situation, in der er sich fuer den Tollsten und Besten haelt. Ich finde, er sollte selbst herausfinden, wie weit das geht. Das braucht man ihm nicht einpruegeln.

    Ähm danke.

    Ich bin sicher, dass das Projekt am Ende nicht ganz wird, wie ich es hben will aber ich mache das nicht alleine. ich arbeite mit einem ebenso begabten Freund zusammen und wir haben uns aufgeteilt. Ich mache die Physik-Engine er kümmert sich ums Rendern.

    Und wenn das ganze doch scheitern sollte, dann werde ich es nochmal in ein bis zwei Jahren probieren.

    Das Problem, dass Gregor angesprochen hat ist, dass ich bis jetzt auf keine Grenzen in diesem Gebiet gestoßen bin. "Leider" bin ich sehr weit forgedrungen und deshalb suche ich die Grenze sehr weit hinten.

    Und bitte hört mit den blöden Kommentaren auf. Sonst muss ich die noch entferen lassen.

    Und es ist wirklich mein ernst. Wenn wir soweit sind, dass wir unsere Version hochladen können, werde ich den Link hier posten.
    Das wird aber noch dauern, weil wir erst anfangen.

    Bevor Fargen kommen, das Konzept steht bis ins Detail!

    Und ich meine das echt ernst!



  • ScottZhang schrieb:

    Namenloser342 schrieb:

    Nur bei Stößen extremer form(ideal inelastisch/elastisch)

    Doch, sonst braucht man eine Stoßzahl.



  • Das ist nämlich eine 1000*1000*1000 große Welt aus Würfeln, in der man spielt. Und durch das Gameplay soll es möglich sein, dass man in der Welt "rumrandalieren" kann, aslo Würfel zerstören kann.

    Reicht es nicht aus, wenn es so nen Mist ein mal gibt? 😃



  • Namenloser342 schrieb:

    ScottZhang schrieb:

    Namenloser342 schrieb:

    Nur bei Stößen extremer form(ideal inelastisch/elastisch)

    Doch, sonst braucht man eine Stoßzahl.

    Die Erhaltungssätze sind für jegliche Form von Bewegung und Interaktion notwendig,
    egal ob man diese direkt oder indirekt anwendet.

    Und nicht nur für extremfälle...


Anmelden zum Antworten