Autor Nachricht
dr.hallo
BeitragVerfasst am: 24. Aug 2013 20:12    Titel:

Du solltest dich mit der Vektorrechnung vertraut machen, bevor du anfängst, etwas aufwendigere Simulationen zu Programmieren und erst recht, wenn du wirklich vor hast, deine eigene Physikengine zu schreiben. Da ist es dann Grundvoraussetzung, nach meinem dafürhalten.

Eine z.Z. angesagte Physikengine ist z.B. auch Box2D.
Jayk
BeitragVerfasst am: 24. Aug 2013 19:02    Titel:

Ich bin auch nicht mehr so in der Materie, aber früher war Newton eine sehr beliebte Engine.
Bruce
BeitragVerfasst am: 24. Aug 2013 18:49    Titel:

Du bist wahrscheinlich nicht der erste, der eine sogenannte Physik-Engine
für Spiele/Simulationen schreibt. Warum nimmst Du nicht einfach eine
bereits vorhandene und getestete?

Dann muß Du "nur noch" die Unit-Tests schreiben, um sicherzustellen, daß
für deine Anwendungsfälle kein Murks herauskommt.

Wer eine Physike-Engine selbst programmieren will, sollte schon über die
entsprechenden mathematischen und physikalischen Kenntnisse verfügen.

Wie willst Du sicherstellen, daß Du sinvolle Ergebnisse erhälst, wenn Du
selbst nicht beurteilen kannst, was sein darf und was nicht?

Interessant wäre noch, für welche Anwendung Du deine Physik-Engine
schreiben willst.

Gruß von Bruce
gbatt
BeitragVerfasst am: 24. Aug 2013 14:00    Titel:

Ich habe mir jetzt Chris Heckers Physik Tutorials zu starren Körpern angesehen. Ich komm auch noch weitesgehend mit, aber die Erklärungen über den Drehmoment und den gesamten Drehimpuls sind sehr schwer,
da er jede Formel, die er benutzt auch ableitet und eher mathematische Bezüge als praktische erstellt. Die Grundprinzipien sind mir klar, doch die angegebenen Formeln eher weniger. Besonders die Tatsache, dass jeder
Ansatz mit Vektoren arbeitet. Mir ist schon klar, das Geschwindigkeit,
Kraft, Beschleunigung etc im zweidimensionalen eine Richtung brauchen,
doch mir ein Ansatz lieber, den ich mit Hilfe von Skalaren berechnen kann
( dann eben mit Pythagoras und Steigung ). Ich weiß natürlich, dass es insgesamt kein einfaches Thema ist, ich wäre nur froh einen Einstieg zu finden. :help
dr.hallo
BeitragVerfasst am: 24. Aug 2013 13:07    Titel:

Du hast es mit einem Exzentrischen Stoß zu tun. Was du suchst ist die Schwerpunktgeschwindigkeit und die Winkelgeschwindigkeit beider Körper nach dem Stoß. Die Stoßkräfte wirken entlang der Stoßnormalen. Die Stoßnormale steht senkrecht auf der Berührungslinie.

Das wird Aufwendig. Vor allem musst du ja auch noch Reibungseffekte berücksichten. Am Ende soll die Engine ja möglichst realistisch und mit beliebig vielen Objekten laufen. Ich glaube kaum, dass es dazu eine schnelle Lösung gibt.
gbatt
BeitragVerfasst am: 23. Aug 2013 21:42    Titel:

OK, also wie gehe ich das Problem am besten an? Die Formeln
in den bisherigen Artikeln, die ich gelesen hab, waren erst einmal auf Englisch
und bedienen sich alle der Integralrechnung, die mir noch etwas Kopfzerbrechen bereitet grübelnd
Bruce
BeitragVerfasst am: 23. Aug 2013 21:35    Titel:

Dann haben wir vor dem Stoß also den Gesamtimpuls der beiden Rechtecke,
der nach dem Stoß erhalten bleibt. Hinzu kommt nach dem Stoß eine Rotation
der beiden Körper um ihren jeweiligen Schwerpunkt und zwar so, daß der
Gesamtdrehimpuls nach dem Stoß der gleiche ist wie vor dem Stoß,
d.h. in dem Beispiel gleich Null.

Außerdem haben wir Energierhaltung, d.h. die Summe der kinetischen
Energien vor dem Stoß ist gleich der Summe der kinetischen Energien
der Schwerpunkte nach dem Stoß zuzüglich der Rotationsenergien um
die jeweiligen Schwerpunkte.

Alles klar grübelnd

Richtig interessant wird es, wenn die beiden Stoßpartner schon vor dem
Stoß rotieren und die Flächen nicht mehr parallel aufeinander treffen,
sondern eine Kante oder Ecke gegen eine Fläche titscht.
Was dann, insbesondere in 3D Teufel

Gruß von Bruce
gbatt
BeitragVerfasst am: 23. Aug 2013 21:14    Titel:

Naja, die Körper sollen eben relativ realitätsnah von einander wegdriften.
Wenn möglich eben auch mit einbezug Rotation, wozu ich aber momentan noch keinen Ansatz habe. In diesem Fall würde m1 bei einer relativ hohen
Geschwindigkeit in Rotation geraten.
Bruce
BeitragVerfasst am: 23. Aug 2013 21:07    Titel:

O.K., fangen wir doch mal an mit der Diskussion anhand des skizzierten
Beispiels. Was soll deine Physik-Engine denn in einem solchen Fall
nach dem Stoß simulieren?

Dargestellt sind zwei Rechtecke, die so zusammen stoßen, daß die beiden
Schwerpunkte S1 und S2 nicht auf einer Linie liegen. Die Flächen, die sich
beim Stoß berühren, sollen hier parallel sein.

Gruß von Bruce
gbatt
BeitragVerfasst am: 23. Aug 2013 19:37    Titel: 2 dimensionale Kollision

Meine Frage:
Hallo,
ich möchte mich an einer kleinen Physik Engine für C++( 2d) versuchen. Bin momentan ziemlich erschlagen von der notwendigen Theorie für dieses Thema.
Ich habe mir viele Artikel und Tutorials durchgelesen und verstehe jetzt
auch einigermaßen die Impulserhaltung und die SAT-Methode zur Kollisionserkennung. Doch gerade komm ich einfach nicht mit folgender
Problemstellung klar: Zwei Körper der Massen m1 und m2 mit unterschiedlichen Geschwindigkeiten in x und y( Polygone ) Richtung kollidieren.
Ich kann jetzt mit Hilfe des Kosinus und Sinus des entstehenden Winkels nach der Kollision die neuen Geschwindigkeitsvektoren errechnen( mit Hilfe der Impulserhaltung ), doch ich hab wirklich keine Ahnung wie groß die zwei entstehenden Winkel sind( also die Richtungen, in die sich die Körper nach der Kollision bewegen ). Wahrscheinlich ist es eine realtiv einfache Lösung, doch ich komm einfach nicht dahinter.
Ich hoffe ihr könnt mir weiterhelfen.

Gruß


Meine Ideen:
Ich geh davon aus, dass etwas mit dem Kollisionszentrum( Auftreffen von m1 und m2 ) zu tun hat.

Powered by phpBB © 2001, 2005 phpBB Group