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?

Something like this?

http://www.globalsecurity.org/military/library/policy/army/fm/3-21-38/ch4.htm

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.

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