![]() |
2-D Physik Engine - Facharbeit
Hallo,
als Facharbeit ist es meine Aufgabe, eine kleine möglichst reale Engine zu bauen. Das soll heißen, ein Objekt (Ball) kann durch einen Raum geworfen werden, und es wirken der Luftwiderstand und die SChwerkraft auf das Objekt ein. Hat da vllt jemand eine Ahnung, wo ich da ein paar Informationen her bekomme. Wie ich also die Berechnungen durchführe etc. Und wenn jemand ein solches Programm kennt, wäre es auch nett, es mir zu zeigen, damit ich mir das schon fertig angucken und meine Gedanken dazu machen kann (Ich meine nicht umbedingt den Quellcode. Das wäre ja ein bischen zu einfach.) Vielen Dank schon einmal. |
Re: 2-D Physik Engine - Facharbeit
Hi,
also in den Raum werfen wird mit nur 2D ziemlich schwer^^ Die Berechnungen für die Gravitation solltest du schon behandelt haben. Wenn du dir vorstellst, dass du etwas (ein Ball bspw.) in 2D wirfst, dann ist das nichts anderes als ein waagerechter (schiefer) Wurf. Du hast die Geschwindigkeit als Vektorgröße, in X-Richtung bleibt sie (wenn es KEINE Luftreibung gibt) immer gleich, in Y-Richtung nutzt du einfach die Bewegunsgleichungen für eine gleichförmig beschleunigte Bewegung. Suche ![]() |
Re: 2-D Physik Engine - Facharbeit
Machs mit Vektoren, das geht am einfachsten.
Dabei ist die Richtung des Balls ein Vektor, die Schwerkraft ein Vektor nach unten, der Luftwiderstand wirkt der Richtung entgegen (denke ich mal) usw. |
Re: 2-D Physik Engine - Facharbeit
Der Link ist schon gar nicht so schlecht, vielen Dank.
Ich habe schon ein Programm geschrieben, in welchem sich ein Ball mit konstanter Geschwindigkeit bewegt und an den Wänden abprallt. Auch habe ich schon einen ersten Versuch gemacht, die Schwerkraft mit einzubringen. Dies habe ich aber nur so gemacht, dass jedes Mal, wenn der Ball sich bewegt (mit einem schlichten Timer), Der Vektor v.y um 0.1 erhöht wird. Aber das ist doch wohl nicht ausreichend für eine Facharbeit. In einem anderen Forum habe ich folgende Formel bekommen: Zitat:
|
Re: 2-D Physik Engine - Facharbeit
Die Formel die du da zitierst, hat aber nur bei sehr großen Massen eine wahrnehmbare Auswirkung, also wenn du Planten, die umeinanderkreisen simulieren willst. Da du aber einen einfachen Ball wirfst reicht ja die ganz simple Formel
Code:
Gruß phreax
F = m*g
mit g = 9.81 m/s² (N/kg) |
DP-Maintenance
Dieses Thema wurde von "sakura" von "VCL / WinForms / Controls" nach "Programmieren allgemein" verschoben.
Viel Erfolg mit der Facharbeit. Ordne da alles richtig ein ;) |
Re: 2-D Physik Engine - Facharbeit
für den luftwiderstand gibt es wohl auch vereinfacht... moment... die hab ich sogar in der formelsammlung: "Widerstandsbeiwerte c_w in Luft", für die Kugel 0,45. äh. ah. luftwiderstand von fahrzeugen: F = c_w * A * rho * v² / 2. da sollte hinhauen. jetzt brauchst du nur noch was anerkanntes, aus dem dus ziteren kannst...
|
Re: 2-D Physik Engine - Facharbeit
Gut dann formuliere ich es mal aus.
Waagerechter Wurf: X-Komponente : abschussgeschwindigkeit - luftwiederstand Y-Komponente : abschussgeschwindigkeit - anziehung Das ganze erstmal ohne Luftwiederstand:
Code:
Das ganze für einen gewissen Abschusswinkel solltest du aus dem Dokument von Walter-Fendt rauslesen können, oder von wiki
x = v0 * t
y = v0 * t + 0.5 * g * t² Wobei g = -9.81 [m/s²] |
Re: 2-D Physik Engine - Facharbeit
Zitat:
|
Re: 2-D Physik Engine - Facharbeit
Gut ok, geb ich dir Recht :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz