Now that we have a land to move on, we can start handling the cruelest element of all: physics.

Let’s talk about the forces that act on an aircraft. The main forces are:

  • Thrust: the force that propels the aircraft forward, generated by the engines.
  • Drag: the force that opposes the motion of the aircraft, generated by air resistance.
  • Lift: the force that opposes the weight of the aircraft, generated by the wings.
  • Weight: the force that pulls the aircraft down, generated by gravity.

In order to simulate the physics of the aircraft, we need to calculate these forces and apply them to the plane.

I opened my physics book and started to write down the equations that I will need to implement in my game. I will not go into the details of the equations, but I will explain the basic idea behind them.

I started from the basics, Newton’s second law of motion, force equals mass times acceleration:

$$F = ma$$

Since I want to get the acceleration in a 3D space, I will use vectors to represent the forces:

$$\vec{F}_{net} = \vec{T} + \vec{L} + \vec{D} + \vec{W}$$

Where:

  • $\vec{T}$: Thrust
  • $\vec{L}$: Lift
  • $\vec{D}$: Drag
  • $\vec{W}$: Weight

In vector form, the equation becomes:

$$\vec{F}_{net} = m \cdot \vec{a}$$

Meaning the acceleration is:

$$\vec{a} = \frac{\vec{F}_{net}}{m}$$

Let’s break down each force and see how we can calculate it.

Drag - The Anti-Thrust

Drag is the force that opposes the motion of the aircraft. It is caused by air resistance and is proportional to the square of the velocity.

$$F_D = \frac{1}{2} \cdot \rho \cdot v^2 \cdot C_D \cdot A$$

Its definition contains variables like $\rho$ (air density) and $A$ (reference area), which will be treated as constants to make the equation simpler.

$$F_D = v^2 \cdot C_D$$

In my simplified version, $C_D$ represents my overall drag factor.

Lift - Gravity’s Enemy

Lift is the force that opposes the weight of the aircraft, caused by the air flowing over the wings. It is also proportional to the square of the velocity.

$$F_L = \frac{1}{2} \cdot \rho \cdot v^2 \cdot C_L \cdot S$$

Here again, the definition of lift contains variables like $\rho$ and $S$ (wing area) that will be treated as constants to simplify the equation.

$$F_L = v^2 \cdot C_L$$

And again, in my simplified version, $C_L$ is my combined lift factor.

Weight - Nobody Beats Gravity

Here, the formula is much simpler since we know the acceleration. It’s a constant.

$$g \approx 9.81$$

So in our case:

$$F_W = m \cdot g$$

$$\frac{F_W}{m} = g$$


Numbers?!

OK, we fooled around with some equations, but what about the numbers? Let’s take real data from an actual jet and see how we can use it to calculate the coefficients.

The F-16 (Falcon/Viper) is a good example of a jet that is not too fast and not too slow, and it has plenty of data available online.

Property Value Unit
Weight 120,000 N
Thrust 130,000 N
Max Speed 600 m/s
Stall Speed 65 m/s
Cruise Speed 250 m/s

$C_D$

At maximum velocity (600 m/s), drag should be equal to thrust.

$$\vec{T} + \vec{D} = 0$$

$$130,000 = 600^2 \cdot C_D \rightarrow C_D \approx 0.36$$

$C_L$

At cruise speed (250 m/s), lift should be equal to weight.

$$\vec{L} + \vec{W} = 0$$

$$120,000 = 250^2 \cdot C_L \rightarrow C_L = 1.92$$


Now that we have the coefficients, we can use them in our equations to calculate the forces and the acceleration of our aircraft. In the next post, I’ll implement the physics of the aircraft and see how it behaves in the game.