Flight Simulator X mathematics

Ceren Alatas Guest

Hello everybody,
For a project, I need to find out how mathematics is used in flight simulator x. Is there a way that I can change the landing angle? Moreover is it possible to find the distance between landing and departure points?

Answers 3 Answers

Jump to latest
Pro Member Chief Captain
RadarMan Chief Captain
Pro Member First Officer
lionlicker First Officer

Here are a few equations.
(1) GLIDESLOPE ANGLE Ft/Nm
Expressed in Feet per Nautical mile.
To find that Ft/Nm angle when you are in a semi stable descent - -
FPM = feet per minute - rate of vertical speed
GS = Ground speed displayed on your GPS or DME (knots or nautical miles per hour)

Ft/Nm = (FPM * 60) / GS

So if you are reading 267 knots ground speed on your GPS or DME and you have your autopilot set to 1100 FPM (feet per minute) - then -
Ft/Nm = (1100 * 60) / 267 = 247

- - - - you are currently dropping 247 feet every Nautical mile - - that's your current glideslope angle

(2) Finding FPM given a known Ft/Nm glideslope that you are trying to target

FPM = (Ft/Mn * GS) / 60

So, you know you want to target say a 300 Ft/Nm glideslope - - and you notice you are currently showing a 315 knot ground speed. What will you set your FPM to ??

FPM = (300 * 315) / 60 = 1575

So you would set your FPM to -1600 , thereby setting yourself on the correct glideslope.

(3) Notes. There are 6076 feet per nautical mile if you want find the actual mathmatical angle. Example: 300 Ft/Nm = ATan(300 / 6076) = 2.8 degrees

In practicality, when executing a descent under power towards a waypoint in the sky or a runway threshhold, you need to keep cycling through these detirminations - your actual glideslope - your required FPM - as GS is continually changing all the time, updrafts and downdrafts.

Knowing how to quickly detirmine Ft/Nm and FPM is crucial when you have engine failure, and need to make good decisions fast.

Pro Member First Officer
lionlicker First Officer

Some more Equations:

All lats/longs need to be converted into Radians first before using any of the following equations
format# [DDD MM.mm] >> radians = (DDD + (MM.mm / 60))/180 * Pi

' North = Positive : South = Negative : East = Positive : West = Negative
' Example: Hong Kong
' N/S format("89 59.99") N 22 19.02 = 0.38950513 radians latitude
' E/W format("179 59.99") E 114 12.16 = 1.99321255 radians longtitude

Example Perth : S31 56.42 E115 58.02 to Hong Kong N22 19.02 E114 12.16

Visual Basic code example: -

'Departure I = lat1 : M = long1
'Destination J = lat2 : N = long2
' K = J - I
' L = N - M
' B = Bearing direction in radians
' D = Distance in meters
R = 6371000 ' mean radius of earth in meters

' - - - - - - - - - - - - - - - - - - - - - - - - 1 Nm = 1852 Meters

GREAT CIRCLE DISTANCE
Haversine Method

'H = Math.Sin(K / 2) ^ 2 + Math.Cos(I) * Math.Cos(J) * Math.Sin(L / 2) ^ 2
'C = 2 * Math.Atan2(Math.Sqrt(H), Math.Sqrt(1 - H))
'D = R * C
'Text = (D / 1000).ToString("0.00") & " kilometers"

' Law of Cosine Method
'D = Math.Acos(Math.Sin(I) * Math.Sin(J) + Math.Cos(I) * Math.Cos(J) * Math.Cos(L)) * R
'Text = (D / 1000).ToString("0.00") & " kilometers"

' BEARING
'B = Math.Atan2(Math.Sin(L) * Math.Cos(J), Math.Cos(I) * Math.Sin(J) - Math.Sin(I) * Math.Cos(J) * Math.Cos(L))
'B = B / Math.PI * 180
'If B < 0 Then B += 360
'Text = (B).ToString("0.00") & " degrees"

' MIDPOINT
'X = Math.Cos(J) * Math.Cos(L)
'Y = Math.Cos(J) * Math.Sin(L)
'P = Math.Atan2(Math.Sin(I) + Math.Sin(J), Math.Sqrt((Math.Cos(I) + X) ^ 2 + Y ^ 2))
'Q = M + Math.Atan2(Y, Math.Cos(I) + X)
'P = P / Math.PI * 180 : Q = Q / Math.PI * 180
'If P < 0 Then S = "S " Else S = "N "
'If Q < 0 Then T = "W " Else T = "E "
'If P < 0 Then P *= -1
'If Q < 0 Then Q *= -1
'S &= Int(P).ToString("00") & " " & ((P Mod 1) * 60).ToString("00.00")
'T &= Int(Q).ToString("000") & " " & ((Q Mod 1) * 60).ToString("00.00")
'Text = S & " " & T

' - - - - - - - - - - - - - - - - 1 Nm = 1852 Meters

' DESTINATION POINT given distance and bearing from start point
'I = -0.21666808 : M = 2.28423166 ' Darwin
'B = -2.15408536 ' 238.5 degrees True
'D = 1762080 ' 952 nautical mile

'B = -2.141518992 ' 237.30 degrees True
'D = 3727203 ' 2011.24 nautical mile

'J = Math.Asin(Math.Sin(I) * Math.Cos(D / R) + Math.Cos(I) * Math.Sin(D / R) * Math.Cos(B))
'N = M + Math.Atan2(Math.Sin(B) * Math.Sin(D / R) * Math.Cos(I), Math.Cos(D / R) - Math.Sin(I) * Math.Sin(J))
'J = J / Math.PI * 180 : N = N / Math.PI * 180
'If J < 0 Then S = "S " Else S = "N "
'If N < 0 Then T = "W " Else T = "E "
'If J < 0 Then J *= -1
'If N < 0 Then N *= -1
'S &= Int(J).ToString("00") & " " & ((J Mod 1) * 60).ToString("00.00")
'T &= Int(N).ToString("000") & " " & ((N Mod 1) * 60).ToString("00.00")
'Text = S & " " & T

Still does not answer your question? Ask a new question!

If the question and answers provided above do not answer your specific question - why not ask a new question of your own? Our community and flight simulator experts will provided a dedicated and unique answer to your flight sim question. And, you don't even need to register to post your question!

Ask New Question...

Search

Search our questions and answers...

Be sure to search for your question from existing posted questions before asking a new question as your question may already exist from another user. If you're sure your question is unique and hasn't been asked before, consider asking a new question.

Related Questions

Flight Sim Questions that are closely related to this...