Range Table Construction Using Pejsa’s Formulas

I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.

— Michael Jordan


Figure 1: Godzilla Returning to the Sea.

Figure 1: Godzilla Returning to the Sea (Source).

This is my final, planned post on Pejsa’s ballistic model. I feel a little like Godzilla (Figure 1) marching back into the sea at the end of one of his many movies – it is time to move on to other subjects.

In the main body of this post, I work through a detailed example from “Modern Practical Ballistics” on how to apply Pejsa’s formulas to determine a range table for a projectile moving through a wide range of velocities. In Appendix A, I work through a second example from the text as additional validation of my implementation. In Appendix B, I show how to use an Ordinary Differential Equation (ODE) solver to generate a range table for comparison with Pejsa’s algebraic approximations.


While I have mentioned some of the following concepts before, a little review will not hurt.

Velocity Zones

One projectile modeling complication is that the functional dependence of drag on a projectile varies with the velocity of the projectile. Pejsa modeled drag using formulas of the form {{F}_{{Drag}}}\propto {{v}^{{2-n}}} with different values of n defined in four velocity zones . The velocity zones and the associated values of n are defined as:

  • zone 1: 1400 ft/s to 4000 ft/s

    This is the supersonic velocity zone and n= 1/2 in this region.

  • zone 2: 1200 ft/s to 1400 ft/s

    This is part of the low supersonic region and n=0 in this region.

  • zone 3: 900 ft/s to 1200 ft/s

    This is part of the transonic region and n = -3 in this region.

  • zone 4: 0 ft/s to 900 ft/s

    This is the subsonic region and n=0 in this region.

Figure 1 illustrates the F curve used by Pejsa, which describes the deceleration of the reference projectile.

Figure 2 Pejsa's Velocity Zones.

Figure 2 Pejsa’s Velocity Zones.

Drop Rate

Before I get too far, I need to define a term that Pejsa called the “drop rate”.

Drop Rate (DR)
The drop rate is the number of vertical inches a projectile drops per yard of horizontal travel.

Pejsa computes the drop rate at the end of each velocity zone. The drop rates accumulate as the projectile passes through each velocity zone. We can use Equation 1 to compute the drop rate of the projectile at the end of a velocity zone. This rate will persist in the projectile from the end of the velocity zone to the final range.

Eq. 1 \displaystyle \frac{{dD}}{{dR}}=\frac{{2\cdot D}}{R}\cdot \left( {\frac{{1+0.78\cdot n\cdot {{{\left( {\frac{R}{F_m}} \right)}}^{2}}}}{{1-\frac{R}{F_m}}}} \right)


  • Fm is the mean coefficient of retardation (feet).
  • D is the drop at range R for a projectile fired horizontally (inches).
  • n is the exponent correction associated with the velocity zone the bullet just passed through (unitless).
  • R is range the projectile has traveled through the current zone (yards).

Equation 1 is derived in Appendix C.

Pejsa’s Solution Approach

Pejsa’s approach can be summarized as follows:

  • Treat each velocity zone as a separate problem.

    This means that we develop separate solutions for velocity zones 1, 2, 3, and 4 as if the other zones do not exist. This would be equivalent to firing a projectile four times with velocities

    • V0, the muzzle velocity.
    • 1400 feet per second (fps), the velocity at the high–end of zone 2.
    • 1200 fps, the velocity at the high–end of zone 3.
    • 900 fps, the velocity at the high–end of zone 4.

    While this part of the solution does not assume that height change is affected by the projectile passing through previous regions, in fact, there is a strong interaction. This interaction can be modeled separately as shown below. My discussion will assume that the projectile traverses all four velocity zones – it might not. If the projectile only traverses some of the zones, simply evaluate Pejsa’s equations for the zones it does pass through.

  • Calculate the drop rate at the end of each zone.

    The drop rate from the previous zone will carry forward into the next zone. We can compute its contribution to the height change by computing the product of the drop rate from the previous zone times the distance traveled.

  • Sum up all the contributions from gravity and drag in the current zone plus with the drop rate contributions of previous zones to get a total drop rate.

    This gives us the rate of change of height relative to the line of sight with respect to distance. We can integrate this rate of height change function with distance to get the total change in projectile height.


Example Source

Pejsa includes a large table of ballistic solutions in the back of his book for various projectiles. I randomly chose an example with a muzzle velocity V0=2400 fps and a ballistic coefficient BC=0.4 to test my implementation of his equations.

Solution Setup

Figure 3 shows how I determined the ranges at which the projectile crosses from velocity zone into another. Calculations begin with the F function, which represents the deceleration of the reference projectile (i.e. a 1-inch diameter, 1 lb, G7 shape) at various velocities.

Figure M: Critical Range Determination.

Figure 3: Critical Range Determination.

Drop Formula For Multiple Velocity Ranges

Now that I have computed the distances at which the projectile transitions from one velocity zone to another, I can compute the various drops that occur as a function of the ranges within each zone. Figure 4 summarizes these calculations. Observe that I compute the drop rate (y-direction) accrued by the end of velocity zones 1, 2, and 3. I sum all the drop contributions to the projectile in the function DR.

Figure M: Implementation of Drop and drop rate Equations.

Figure 4: Implementation of Drop and drop rate Equations.

Generating a Range Table

Given the zone transition distances, the projectile drops due to gravity and drag, and the drop rates at the end of each zone, I can now compute the height of the projectile relative to the line of sight using the equation 2 from this post for a projectile’s height (H) above the line of sight (Figure 5).

Figure M: Generate the Results Table and Compare Results.

Figure 5: Generate the Results Table and Compare Results.

My results show excellent agreement with Pejsa’s results.


This concludes my planned review of Pejsa’s “Modern Practical Ballistics”. I have presented detailed derivations of his key results and provided examples of their application using Mathcad. Hopefully, the material presented here will be useful to those battling through Pejsa’s book – it was one of the most frustrating reads I have encountered. I believe that I mastered the material, but that was in spite of the book’s presentation.

Appendix A: Textbook Example

I have tried my routine on multiple examples from Pejsa’s book. On page 94, Pejsa works an example and presents the results in Figure 13 of his text. I have used my implementation of his equations to duplicate his results in this example file (Figure 6). This file is a PDF of the same Mathcad routine used to generate the results in the main body of this post.

Figure 6: My Results and Comparsion with Chapter Example.

Figure 6: My Results and Comparison with Chapter Example.

Appendix B: Range Table Creation With ODE Solver

Pejsa’s algebraic ballistic solutions are approximate solutions to the differential equations that describe the projectile’s motion. I inserted Pejsa’s differential equations into Mathcad, generated numerical solutions for a number of examples, and compared the results with the output from Pejsa’s software. As you would expect, the agreement is excellent (Figure 7).

Figure M: Comparision Between DE Solver and Pejsa's Equations.

Figure 7: Comparison Between DE Solver and Pejsa’s Equations.

I have attached a PDF of my worksheet Blog_ODE.

Appendix C: Derivation of the Drop Rate Equation

Figure 8 shows my derivation of the drop rate equation (Equation 1).

Figure M: Derivation of Drop Rate Equation.

Figure 8: Derivation of Drop Rate Equation.

This entry was posted in Ballistics. Bookmark the permalink.

7 Responses to Range Table Construction Using Pejsa’s Formulas

  1. Robert Peugini says:

    Is Pejsa’s software available for i-Phone 6 plus.

    • mathscinotes says:

      I am not sure. There certainly are Pejsa-based software packages available. Try looking at JBM Ballistics. They maintain a list of different ballistics packages on the link I reference.


  2. Is Pejsa’s software available for I-Phone 6?

    • mathscinotes says:

      I am not sure. There certainly are Pejsa-based software packages available. Try looking at JBM Ballistics. They maintain a list of different ballistics packages on the link I reference.


  3. Hello mathscinotes,

    I found your blog searching for battery algorithms to complete our proprietary solar system solver. I like your practical, result oriented approach a lot. Would you be interested to help us with this task?

    Best Regards

  4. Mike Mueller says:

    Excellent work. I’ve been working my way through Pejsa’s books with difficulty. Thank you for making this much clearer. I do, however, have one question: how valid are these equations for incline shooting? I did read his chapter on this subject, which wasn’t much help. Your thoughts would be appreciated.

    • mathscinotes says:

      Hi Mike,

      I wish Pejsa’s work had been cleaned up by a professional technical editor. There is gold to be mined there, but it is a real slog. As far as incline shooting, or decline shooting for that matter, you need to use the rifleman’s rule. There is a Wikipedia article on the topic but it is not the best – I should know because I wrote it. It was my very first Wikipedia entry, and I had no clue what I was doing. Please start there and see if it helps you understand. If it doesn’t, come back here and we will grind through it. In fact, I probably should put a blog post on this site about it.

      All ballistic tables and formulas are setup as if you are shooting on an infinite horizontal plane, which does not exist on our spherical world. Even battleship range tables assume an infinite plane and they shoot far enough that the Earth’s curvature makes a significant difference. That is why battleship gunners must correct for the Earth’s curvature (post). Pejsa’s formulas are also setup for a infinite horizontal surface. So Pejsa’s formulas are valid, but to use them on an incline/decline you must use a modified range value. The rifle’s must be “zeroed” to shoot at a distance less than the slant range to the target, RS. For most purposes the correct zero range, RZ, is {{R}_{{Z}}}\approx {{R}_{{S}}}\cdot \cos \left( \alpha  \right), where α is the angle of incline.

      The key thing to understand is that shooting on an incline changes the direction of the force of gravity. Figuring out how to compensate for this change becomes a trigonometry exercise at that point.

      Pejsa’s book does cover that material, but as always it is a slog.

      Thanks for reading and I do appreciate questions. They help me improve my blog.



Comments are closed.