Flugzeugforum  

Zurück   Flugzeugforum > Literatur u. Medien > Multimedia

Antwort
 
Themen-Optionen Ansicht
Alt 15.01.10, 17:16   #1
jb3380
Flugschüler
 
Registriert seit: Jan 2010
Ort: Thüringen
Beiträge: 2
jb3380 ist zur Zeit noch ein unbeschriebenes Blatt
Flugsimulation programmieren

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/sh...ad.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 ... :-)
jb3380 ist offline   Mit Zitat antworten
Alt 17.01.10, 17:17   #2
Rhönlerche
Astronaut
 
Registriert seit: Mar 2002
Ort: Deutschland
Beiträge: 1.812
Rhönlerche ist sehr häufig positiv in Erscheinung getretenRhönlerche ist sehr häufig positiv in Erscheinung getreten
Du kannst ja mal bei flightgear gucken. Ein open source Projekt.

http://flightgear.org/
Rhönlerche ist offline   Mit Zitat antworten
Alt 17.01.10, 23:53   #3
Peeder
Kunstflieger
 
Registriert seit: Feb 2009
Ort: München
Beiträge: 34
Peeder hat bisher einen recht guten Eindruck hinterlassen
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.
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
Peeder ist offline   Mit Zitat antworten
Alt 18.01.10, 10:51   #4
Thiel12
Flieger-Ass
 
Benutzerbild von Thiel12
 
Registriert seit: May 2009
Ort: Schwerin
Beiträge: 209
Thiel12 hat die Renommee-Anzeige deaktiviert
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.
__________________
Der einsame Wolf ;)
Thiel12 ist offline   Mit Zitat antworten
Alt 18.01.10, 11:39   #5
jb3380
Flugschüler
 
Registriert seit: Jan 2010
Ort: Thüringen
Beiträge: 2
jb3380 ist zur Zeit noch ein unbeschriebenes Blatt
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
jb3380 ist offline   Mit Zitat antworten
Alt 18.01.10, 12:32   #6
Thiel12
Flieger-Ass
 
Benutzerbild von Thiel12
 
Registriert seit: May 2009
Ort: Schwerin
Beiträge: 209
Thiel12 hat die Renommee-Anzeige deaktiviert
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
Angehängte Dateien
Dateityp: pdf teil1.pdf (113,7 KB, 21x aufgerufen)
__________________
Der einsame Wolf ;)
Thiel12 ist offline   Mit Zitat antworten
Alt 19.01.10, 07:59   #7
Acanthurus
Testpilot
 
Benutzerbild von Acanthurus
 
Registriert seit: Jul 2005
Ort: Fest
Beiträge: 420
Acanthurus hat die Renommee-Anzeige deaktiviert
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+zeitschrit t*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.
__________________
Jet Fuel hat fett Joule
Acanthurus ist offline   Mit Zitat antworten
Alt 10.03.10, 13:11   #8
Kilo Mike Sierra
Kunstflieger
 
Benutzerbild von Kilo Mike Sierra
 
Registriert seit: Jan 2008
Ort: Deutschland
Beiträge: 48
Kilo Mike Sierra hat bisher einen recht guten Eindruck hinterlassen
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.
__________________
Thomas

Was ich hier schreibe, kommt manchmal der Wahrheit recht nahe.
Kilo Mike Sierra ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Flugsimulation, Frage an "echte" Piloten kamenz Flugsimulationen am PC 16 13.01.10 22:15
Beste Flugsimulation? VIPER Flugsimulationen am PC 31 03.07.02 14:27
die schlechteste Flugsimulation aller Zeiten Ritter Flugsimulationen am PC 24 17.04.02 16:30
Flugsimulation für Kunst(Verbands)flug Kiowa Flugsimulationen am PC 9 03.10.01 15:51


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:07 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.