Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.12.2006, 19:53

Ballistikformeln

Hi

ich brauche für mein spiel, formeln für das sogenannte "Klassische Bahnmodell"

Dies ist ein Berechnungsmodell für Flugbahnen von geschossen. ich brauche dsa für ein spiel das im 16. Jahrhunder spielen soll,also schon erste schusswaffen. Aber bei wikipedia und im internet hab ich nichts gefunden.

kennt jemand diese formeln?


MfG
Eldarion

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

27.12.2006, 20:44

wofür brauchst dus denn so genau?
normalerweise sollte z.b. ein schiefer wurf, evtl. mit luftwiderstand, doch ausreichend sein oder?

3

27.12.2006, 22:52

Gewehr/Musketenkugeln

selbst für diesen schiefen wurf fehlen mir die formeln :(

bei wikipedia gabs keine ballistik formaln :(

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

27.12.2006, 23:15

Physikbuch->aufschlagen->schiefer Wurf oder Superpositionsprinzip/Überlagerte Bewegungen oder waagerechter Wurf + freier Fall
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

6

28.12.2006, 09:43

Ich habe mal gegoogelt und ge-wikipediat:

http://de.wikipedia.org/wiki/Muskete

Eine Müdungesgeschwindigkeit von 200-250 m/s, also Unterschall, dürfte realistisch sein. Ohne Luftwiderstand und mit sagen wir 150-200 m/s als durchschnittlicher Geschwindigkeit zu rechnen dürfte eine akzeptable Näherung sein. Da die Läufe nicht gezogen und daher die Kugeln keinen Drall haben ist die Ballistik sowieso teilweise zufallsmäßig. Ich würde ein zufallsmäßig die Abschussrichtung etwas "verwackeln", völlig ausm Bauch raus würde ich sagen 5-10 meter Streuung auf 100m werden es schon gewesen sein. Nach dem "Verwackeltn" kannst Du dann einfach die oben schon erwähnte Wurfparabel nehmen. Schau halt ob Du die Wahrscheinlichkeiten aus dem Wikipedia Artikel erreichen kannst.
"Games are algorithmic entertainment."

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

28.12.2006, 10:19

Für ein Spiel wird man mit den Formeln nicht viel anfangen können. Es sei denn, man will z.B. berechnen, wohin man zielen muss, um irgendein Ziel zu treffen. Wenn man aber nur die Flugbahn des Geschosses bestimmen will, dann geht das iterativ viel besser.

Einfach folgendes in jedem Update tun (wobei dt die Dauer eines Update-Ticks ist, und zwar in Sekunden, z.B. 0.02, wenn du 50-mal pro Sekunde updatest):

C-/C++-Quelltext

1
2
3
4
5
6
7
Geschoss.Position += dt * Geschoss.Geschwindigkeitsvektor;
Geschoss.Geschwindigkeit.y += dt * 9.81;

// Wenn du noch Reibung haben willst, setze Geschoss.Reibung

// auf einen Wert nahe 1, z.B. 0.99. Dann verliert das Geschoss

// pro Sekunde 1% seiner Geschwindigkeit.

Geschoss.Geschwindigkeit *= pow(Geschoss.Reibung, dt);


Die Parabel ergibt sich so von ganz allein (wenn die Reibung rausgelassen wird).
Dieses Modell für die Reibung ist zwar wahrscheinlich nicht so realistisch, aber es erreicht zumindest, dass schnellere Objekte mehr Geschwindigkeit verlieren als langsamere. Ich mache das meistens so und fand es bisher immer in Ordnung.

Werbeanzeige