Make your own free website on Tripod.com

Vertical Flight


How long goes it take to accelerate?

In cases involving only vertical motion we need to change a few assumptions. The forces acting on the character are all in the vertical direction, which results in a slightly different differential equation from the horizontal cases. The four examples I will work out here are each slightly different, but will make use of the same solutions and forms. The results will be directly analagous to those obtained for purely horizontal motion.

Accelerating Upwards from Zero Velocity

Expressing the net vertical force acting on a character accelerating upwards:

m a = ( Fthrust - m g ) - Ffriction

To simplify the mathematics we will define a new maximum speed. When a character is flying upwards he will have a different (smaller) maximum velocity than when flying horizontally. This upwards maximum velocity can be expressed using:

Fthrust - m g = cfriction vmax-up2
vmax-up2 = ( Fthrust - m g ) / cfriction

This will simplify the differential equation, and the solution will be similar to that of horizontal acceleration:

m ( dv / dt ) = cfriction ( vmax-up2 - v2 )

taccel = m / ( 2 cfriction vmax-up ) * ln { ( vmax-up + v ) / ( vmax-up - v ) }

If we make the definition: v = N vmax-up we obtain the result:

taccel = m / ( 2 cfriction vmax-up ) * ln { ( 1 + N ) / ( 1 - N ) }
taccel = m fN / ( cfriction vmax-up )

Decelerating to Zero Velocity from a given Upwards Velocity

The character is travelling upwards and wishes to come to a complete stop. He now must point his thrust downwards, giving us the differential equation:

m ( dv / dt ) = ( Fthrust + m g ) + Ffriction

Again, to simplify the mathematics we will define a new maximum speed. A character's maximum possible downward velocity will be greater than his maximum horizontal velocity because gravity is pulling him downwards. This maximum velocity is determined using:

Fthrust + m g = cfriction vmax-down2
vmax-down2 = ( Fthrust + m g ) / cfriction

With the definition: v = N vmax-down and substitution of our standard frictional coefficients we obtain:

tdecel = m / ( cfriction vmax-down ) * tan-1 ( N )
tdecel = m sN / ( cfriction vmax-down )

Accelerating Downwards from Zero Velocity

We obtain the differential equation and the solution is obtained:

m ( dv / dt ) = ( Fthrust + m g ) - Ffriction

taccel = m fN / ( cfriction vmax-down )

Decelerating to Zero Velocity from a given Downwards Velocity

We obtain the differential equation and the solution is obtained:

m ( dv / dt ) = ( Fthrust - m g ) + Ffriction

tdecel = m sN / ( cfriction vmax-up )


Simplification of Results

The four cases of acceleration and deceleration solved above can be generalized:

v = N vmax-direction

taccel = m fN / ( cfriction vmax-direction )
tdecel = m sN / ( cfriction vmax-direction )

To decide which value of vmax is needed you must look at the direction of your character's thrust. If your character is pushing upwards (accelerating upwards or decelerating while travelling downwards) you need to use vmax-up. If your character is pushing downwards (accelerating downwards or decelerating while travelling upwards) you need to use vmax-down. This generalization also applies to the case of horizontal acceleration and deceleration, where you use the standard value of vmax. The benefits of making this generalization should be clear: the values of fN and sN and the forms of the equations used are the same regardless of the direction in which you're travelling! If a player knows his character's maximum upwards, horizontal, and downwards velocities he can use a few sample values of fN and sN to solve for several acceleration and deceleration times without depending on excessive tables and calculations.