jb3380
Flugschüler
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
benötigter Startgeschwindigkeit
die Beschleunigung
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 ... :-)
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;
}
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;
}
}
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
}
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 ... :-)