Flugsimulation programmieren

Diskutiere Flugsimulation programmieren im Multimedia Forum im Bereich Literatur u. Medien; Hallo liebes Forum, ich möchte wie andere vor mir eine Flug Simulation programmieren. Ich programmiere in C++ mit dem Framework gloost von...

jb3380

Flugschüler
Dabei seit
14.01.2010
Beiträge
2
Zustimmungen
0
Ort
Thüringen
Hallo liebes Forum,

ich möchte wie andere vor mir eine Flug Simulation programmieren.
Ich programmiere in C++ mit dem Framework gloost von Felix weißig.
Momentan besitze ich einen Scenegraph welcher alle Objekte hält(berg, wasser, flugzeug).
Mein Problem ist die Flugdynamik:
folgende Links habe ich gefunden im Forum:
http://www.flugzeugforum.de/forum/showthread.php?t=34639

1. meine erste Frage gibt es noch mehr Unterhaltungen in anderen Threads?

Ich habe nun ein Flugzeug bzw. eine KLasse erstellt welche folgende Methoden schon implementiert sind
Auftrieb
folgende Seite
http://www.flugtheorie.de/15SCHULE.HTM
Code:
int
Airplane::getbuoyancy()///auftrieb
{

      int buoyancy = 1.25*  _wingspread *
                    calcA_Forward()[0] *calcA_Forward()[0]*calcA_Forward()[0] ///speed forward
                    *sin(getAlphaPitch())*2 * cos( getAlphaPitch())*2 ;
return buoyancy;
}
benötigter Startgeschwindigkeit
Code:
///which speed is needed to start
bool
Airplane::calcuSpeedStart()
 {
   ///Formel Gewichtskraft F_g = m*g (g = 9.81)
  float scalePlaneValues = 1;
  float g = 9.81 *scalePlaneValues;
  float m = _weight  *scalePlaneValues ;
  float a_fluegel =_aFluegel *scalePlaneValues;
  float f_g = 9.81*m *scalePlaneValues;
  float luftdichte = 1.25 *scalePlaneValues;

  ///Staudruck =0.5 * Dichte * (Geschwindigkeit)²
  float staudruck = 0.5  * luftdichte *  _actualThrust*_actualThrust;


  ///* v_start =sqrt( 2*m*g/p*A_Flügel)*/
  float v_start =  sqrt((2*m* g)/(luftdichte * a_fluegel*staudruck));



  if (_actualThrust > v_start )
  {
    return true;
  }
  else
  {
    return false;
  }
 }
die Beschleunigung
Code:
///actuelThrust?????????
gloost::Vector3
Airplane::calcA_Forward()
{
  ///u_punkt = Gewichtskraft/Masse + Schub/Masse + (Aerodynamische Kräfte)/Masse
  ///Beschleunigung in Richtung vorne

  gloost::Vector3 u_punkt=   gloost::Vector3(_actualThrust/_weight,0.0,0.0);//)+gloost::Vector3(getbuoyancy()/_weight,0.0,0.0) ;// +gravitationalForce()/_weight;
 return  u_punkt;//= gravitationalForce(weight)/weight ;//+ Schub/weight + (Aerodynamische Kräfte)/weight
}
Würde mich sehr freuen wenn mich jemand oder viele dabei begleiten.

2. Gibt es noch Fehler bzw. die dritte vorgestellt Funktion ist ja noch sch....
Momentan wird auf die Position des Flugzeuges einfach pro Zeitschritt der calcA_Forward() Wert drauf getan. das Zusammenspiel zwischen Auftrieb und Anziehug ist auch noch nicht vorhanden.

verweist mich auch gern an andere Threads hab leider keine hilfreichen gefunden bzw. nicht verstanden.

Soweit erstmal ... :-)
 

Peeder

Berufspilot
Dabei seit
09.02.2009
Beiträge
55
Zustimmungen
10
Hallo jb3380,

erst mal willkommen im Forum. Auf was willst du denn genau hinaus? Ich kann mich eigentlich nur meinem Vorredner anschließen, ich finde das aber sehr mutig so etwas anzugehen, wobei ich SELBST keinen Sinn darin sehen würde so ein Projekt anzugeben (ist schon sehr sehr komplexes Thema). Ich habe selbst einiges mit FlightGear gemacht und kann sagen, dass die Entwickler immer sehr zuvorkommend, nett und sehr hilfreich waren. Natürlich brauchen diese auch immer gute Männer (/Frauen) die unermüdlich helfen, das Projekt zu verbessern.
Wenn du dich dafür interessierst, kann ich dir vielleicht ein paar Einsteiger-Tipps geben. :HOT:
Wenn du wirklich vorhast, so etwas zu programmieren würde ich mich erst mit der grundsätzlichen Flugmechanik beschäftigen. Ich weiß nicht, wie gut du dich damit auskennst, aber es wäre sicher nichts falsches, dir dazu ein Buch zu kaufen (wenn du das Projekt wirklich ernsthaft angehen willst) oder dir ein Skriptum einer Uni zu besorgen. Ich glaube so hopp la hopp wird das ganze leider nichts. Grunsätzlich ist nämlich ein ganzer Batzen Verständnis dabei (nicht nur das Umsetzten von ein paar einfachen Gleichungen von Papier auf C++)... ;)

Grüße
 
Thiel12

Thiel12

Fluglehrer
Dabei seit
27.05.2009
Beiträge
218
Zustimmungen
14
Ort
Schwerin
Hi.

Ist ein sehr anspruchvolles Projekt... Aber nicht unmöglich. hab mal vor Jahren einen Onlineserver für ein 2WK Flugsimulator in Java programmiert, war ne nette Aufgabe und auch spannend, schlief aber dann ein, weil mein Real Life mich voll in beschlag nahm.

Drücke die Daumen, das was draus wird. :TOP:
 

jb3380

Flugschüler
Dabei seit
14.01.2010
Beiträge
2
Zustimmungen
0
Ort
Thüringen
no start :-)

erstmal vielen Dank!!!! dachte schon die Leute haben keine Lust mehr auf solche threads zu antworten.

@Rhönlerche
Ich war auf dieser Seite und habe mir den SourceCode runtergeladen, leider habe ich den für mich interressanten Codeteil nicht gefunden.
(also die Stelle wo die Flugberechnungen gemacht bzw. Parameter gegeben werden)

@wem es interssiert
*An dieser Stelle möchte ich betonen das ich dieses Projekt mache um mehr zu programmieren bzw. um mich zu verbessern
* der Simulator soll es mir einfacher machen etwas zu programmieren wobei ich spaß habe(ich mag Flugzeuge :-) )
*ich weitere Sachen lerne: wie Terrain konstruieren bzw. entstehen, Wassersimulation, Grafikkarten programmierung ect.

Also ein "Anfänger" welcher durch ein Projekt besser werden will.

Ich habe:

Einen Scenegraphen(Baumstruktur) in welchen ich alle Objekte einhänge und welcher dann traversiert (durchgegangen) und die Objekte gezeichnet werden.

Als Flugzeug habe ich momentan ein .obj f5e Tiger kostenlos von der Seite
http://www.turbosquid.com/

Als Terrain habe ich eine Heightmap(schwarz/weiß Bild) in Photoshop erstellt
und dann einfach die Höhenwerte in Verticies umgewandelt und abgespeichert. Diese dann mit einen Delaunay programm zu einem .obj umgewandelt.

Als Wasser benutze ich eine Texure welche durch einen Shader verzehrt wird und Wasser simuliert.

(nur falls noch mal fragen in diese Richtung gekommen wären.. )

@Peeder

-ich würde es gern so weit es geht vieles selber programmieren bzw. nicht bei anderen dazu stoßen, ich lerne da immer etwas besser, auch wenns länger dauert
- Tipps sind sehr gut !!!

Momentan möchte ich die Steuerung neu anfangen:
-Da die Steuerung momentan nicht den physikalischen Grundgedanken entspricht(bzw. ein abstraktion davon) und einfach nicht ordentlich funktioniert.
-dazu würde ich gern alle Parameter speichern die ich benötige(ein Teil habe ich ja schon), mir fehlen die Ruder ect.( Winkel)
- welches günstige Buch könntet ihr mir denn empfehlen( es sollte kein "Flug
physik für dummies" sein, aber schon gut verständlich, wisst ja selber...)
-bei anderen Projekten würde ich schon mitarbeiten, glaube momentan ist mir mehr geholfen alles erstmal selber kennen zu lernen
-für mich waren die Formeln der einzige Anker, leider ist das Thema schwer zu finden und wenn dann nur Bruchstückhaft

LG jb
 
Thiel12

Thiel12

Fluglehrer
Dabei seit
27.05.2009
Beiträge
218
Zustimmungen
14
Ort
Schwerin
Hi nochmal.

Sicherlich kann man den "schweren" weg gehen und alles selbst im Trial&error Verfahren lernen. Aber aus eigener Erfahrung ist das der umständliche weg, und der ist aus meiner Sicht nicht eben erstrebenswert. Aber wenn du so besser lernst hoffe ich, das du entsprechende Hinweise findest.

Da du das Rad neu erfinden wirst, empfehle ich dir die Lektüre von entsprechenden Fachbüchern wie

E. Götsch: Luftfahrzeugtechnik, Motorbuch Verlag Pietsch, 2003

oder aus dem Anhang.

Vierl Erfolg:FFTeufel:
 
Anhang anzeigen

Gelöschtes Mitglied 7691

Guest
Moin.

Also die "Flugtheorie"-Seite ist mir (früher mal beruflich Aerodramatiker) ziemlich aufgestoßen. Da wird eine Auftriebserklärung aufgestellt, welche zwar auf physikalischen Grundprinzipien basiert, aber sehr unvollständig und teilweise schlicht irreführend ist.

An deiner Stelle würde ich mir für die Flugmechanik die ganz klassischen Grundformeln hernehmen - die sind millionenfach bewährt und reichen für einen einfachen Flugsimulator allemal:

Hier mal ne Aufstellung der relevanten Grundgleichungen:
http://www.delago.de/ariane/DFormel.htm

Daraus kannst du dir aus dem Flugzustand die Kräfte und Momente ausrechnen, welche auf den Flieger wirken.
Diese Werte dann in einem einfachen zeitschrittverfahren numerisch integrieren (ein expliziter Euler-Schritt reicht da, nach dem Motto Geschwindigkeit_neu=Geschwindigkeit_alt+zeitschritt*Luftkraft/masse)
und daraus die Lageänderung des Fliegers (lage_neu=lage_alt+zeitschritt*geschwindigkeit_neu)

Das ganze natürlich vektoriell, für drei translatorische und 3 rotatorische Freiheitsgrade. Es ist nicht sehr aufwendig, aber ein wenig mechanik und ein klitzekleinwenig Mathematik (speziell Differentialgleichungen und Numerik/Zeitschrittverfahren) ist schon von Nöten, um sowas zu implementieren.
Das ergibt nicht gerade die beste aller Sim Engines, aber man muss ja mal klein anfangen.

Formeln wie eine vorab ausgerechnete Startstrecke brauchst du NICHT, das ergibt sich durch die Integration der Zeitschritte automatisch.


gruß

a.p.
 
Kilo Mike Sierra

Kilo Mike Sierra

Berufspilot
Dabei seit
27.01.2008
Beiträge
67
Zustimmungen
9
Ort
Gallia Prima
Empfehlung von sachdienlicher Literatur

Zum Thema Software-Entwicklung für PC-Flugsimulatoren kann ich folgende Bücher empfehlen:


"Physics for Game Developers" von David M. Bourg, O'Reilly, 2002

Dieses insgesamt hochinteressante Buch widmet allein 44 Seiten der Entwicklung einer gut ausbaufähigen Flugsimulationsplattform. Diese enthält ein flugmechanisches Modell, welches diesen Namen durchaus schon verdient. Ganz ähnlich wie bei dem Aero-Model für Flight Unlimited II und III (Looking Glass Studios), wird das Flugzeug in einzelne Elemente zerlegt, z.B. linke und rechte Außenflügel mit Querruder, Innenflügel mit Landeklappe, linkes und rechtes Höhenleitwerk, Seitenleitwerk und Rumpf. Die aerodynamische Kräfte und die durch ihre Masse verursachten Trägheitswirkungen der einzelnen Elemente werden individuell berechnet und deren Gesamtwirkungen auf die Lagewinkel des Flugzeuges sowie auf die Position des Schwerpunktes im Raum ermittelt.
Dazu kommen eine flüssige Sichtsimulation mit drei Kamerapositionen (Cockpit, Spot Plane, Tower) sowie ein einfaches 3D-Geländemodell. Das simulierte Flugzeug verfügt über Seitenruder, Höhenruder, Querruder, Landeklappen, Schubhebel sowie eine akustische Überziehwarnung. (Der Programmautor hat übrigens eine falsches Vorstellung davon, wann ein überzogener Flugzustand vorliegt. Er glaubt, das sei immer dann der Fall, wenn der Auftriebskoeffizient gleich Null sei. Diesen Fehler kann man jedoch leicht selbst korrigieren.)
Dem Grundgerüst fehlen noch Sound, Joystick-Interface und ein Cockpit mit Instrumenten. Auch ein "Ground Model" sollte ergänzt werden, denn auf dem dargestellten hügeligen Terrain kann man nicht landen, sondern taucht einfach ein und fliegt dann unter Tage weiter, was auf Dauer sicher nicht befriedigt.
Ich bin mir nicht mehr sicher, aber ich glaube, daß der Effekt des induzierten Widerstandes in diesem Aero-Modell nicht berücksichtigt wird, aber auch das wäre ja sehr leicht einzubauen.


"Physics for Game Programmers" von Grant Palmer, Apress, 2005

Auf 43 Seiten wird hier ebenfalls eine Basis-Flugsimulation entwickelt, die sofort lauffähig und erweiterbar ist. Eine 3D-Sichtsimulation wird hier nicht mitgeliefert, sondern eine 2D-Ansicht, die das vertikale Flugprofil graphisch darstellt und einzelne Flugparameter (Steuerkurs, Flugbahnwinkel, Geschwindigkeit, Steiggeschwindigkeit, Höhe) als Zahlenwert ausgibt. Dieser Autor dieses Buches geht zudem etwas tiefer auf die Simulation der Antriebssysteme (Motor, Luftschraube, Strahltriebwerk) sowie Trimmung und Flugstabilität ein.


Etwas außer Konkurrenz möchte ich noch ein weiteres Buch erwähnen:

"Build Your Own Flight Sim in C++" von Christopher Lampton und Michael Radtke, The Waite Group, 1996
(erste Auflage erschien unter dem Titel "Flights of Phanatasy")

Bislang wahrscheinlich immer noch das einzige Buch, das sich ausschließlich der Programmierung eines eigenen Flugsimulators widmet - immerhin auf 638 Seiten.
Am Ende steht ein einfacher, aber nahezu vollständiger Flugsimulator mit Cockpit, Sichtsimulation, Sound und Joystickbedienung. Allerdings ist das primitive flugmechanische Modell kaum als solches zu bezeichnen. Auf den ersten Blick ein großer Nachteil, aber jedem interessierter Nutzer des Buches steht es ja frei, den Simulator zu verbessern und zu erweitern. Die Autoren liefern bewußt nur das Grundgerüst.
Ich erwähne dieses ältere Buch hier außer Konkurrenz, weil die Software für das Betriebssystem MS-DOS geschrieben wurde. Somit läuft sie immerhin noch unter Windows XP, aber den Komfort von Direct X oder OpenGL gibt es halt nicht. Die 3D-Grafik, das Soundsystem und das Joystick- und Tastatur-Interface sind daher ebenfalls Bestandteil des Simulators.
 
Thema:

Flugsimulation programmieren

Flugsimulation programmieren - Ähnliche Themen

  • Flugsimulation Screenshots 2024

    Flugsimulation Screenshots 2024: Wie 23, mache ich schonmal meinen Lieblings-Thread für 24 fertig. Grüße an alle. :smile1:
  • Flugsimulation Screenshots 2023

    Flugsimulation Screenshots 2023: Hallo liebe Freunde, ich mache schonmal hier auf, ist ja nicht mehr lange. 😉 Bild von meinem letzten Flusiflug (X-Plane-11) dieses Jahr, heute.
  • Flugsimulation Screenshots 2022

    Flugsimulation Screenshots 2022: So, wollte dieses Jahr mal den Thread eröffnen, den ich hier im FF am liebsten habe. Frohes Neues Freunde! :squint: :hello: PS. hoffe die kleine...
  • Probleme und Fragen rund um die Flugsimulation

    Probleme und Fragen rund um die Flugsimulation: Liebe FFler, ich dachte mir, ich mache mal so eine Art "Problemecke" auf. Dabei geht es darum, dass jeder der eine Frage oder ein Problem hat...
  • Flugsimulation mit Schwerpunkt auf Action

    Flugsimulation mit Schwerpunkt auf Action: Hallo! Bevor ich hier von den eingefleischten Flugsim-Fans in der Luft zerissen werde, ich bin lediglich Gelegenheitsspieler auf der Suche nach...
  • Ähnliche Themen

    • Flugsimulation Screenshots 2024

      Flugsimulation Screenshots 2024: Wie 23, mache ich schonmal meinen Lieblings-Thread für 24 fertig. Grüße an alle. :smile1:
    • Flugsimulation Screenshots 2023

      Flugsimulation Screenshots 2023: Hallo liebe Freunde, ich mache schonmal hier auf, ist ja nicht mehr lange. 😉 Bild von meinem letzten Flusiflug (X-Plane-11) dieses Jahr, heute.
    • Flugsimulation Screenshots 2022

      Flugsimulation Screenshots 2022: So, wollte dieses Jahr mal den Thread eröffnen, den ich hier im FF am liebsten habe. Frohes Neues Freunde! :squint: :hello: PS. hoffe die kleine...
    • Probleme und Fragen rund um die Flugsimulation

      Probleme und Fragen rund um die Flugsimulation: Liebe FFler, ich dachte mir, ich mache mal so eine Art "Problemecke" auf. Dabei geht es darum, dass jeder der eine Frage oder ein Problem hat...
    • Flugsimulation mit Schwerpunkt auf Action

      Flugsimulation mit Schwerpunkt auf Action: Hallo! Bevor ich hier von den eingefleischten Flugsim-Fans in der Luft zerissen werde, ich bin lediglich Gelegenheitsspieler auf der Suche nach...

    Sucheingaben

    https://www.flugzeugforum.de/threads/flugsimulation-programmieren.58046/

    ,

    c flugsimulation programmierung

    ,

    plattform für flugsimulation c

    ,
    c++ flugsimulation
    , c flugsimulation code, flugsimulator lrogramieren, flugsimulator c programmieren, c++flugsimulation , online flugsimulator programmieren , Flugsimulation physics, flugzeugsimulator programieren sounds, flugsimulation programmieren, flugsimulator 3d programmierung , Flugsimulator-Software richtig programmieren, so kann man einen simulator programmieren , C G kraft, build your own flight simulator c pdf
    Oben