I have taken upon myself to digitise some scanned old performance diagrams, e.g. roll distance as function of mass and OAT, TAS as function of power setting, etc. The obvious goal is to allow the computations to be performed in a computer instead of on paper (that is: almost never). I have written some tools to do measurements of the line intersections in the documents, so consider that problem solved.

However, what are the best functions to fit to the measured coordinates? In selected cases, a straight line would be valid, but most often not. After all, the functions are typically solution to differential equations…

What functions are reasonable to adapt to the measured data?

Simple polynomial have the advantage that all measurements are used to fit one set of parameters. However, they are also well-known to produce oscillations between measured points. On the other hand, interpolating cubic polynomials have less oscillation problems but are… interpolating, so the measurement errors are not smoothed out. Furthermore, I have estimates of the measurement uncertainty of each point, so I would like to use that for fitting a global function.

Ideally, I would like a closed-formula for each type of curve, but I know that might be a tall order. My goal is to automate the computations, so the required precision is in the order of what you would produce with a pen and a ruler.

So, what do you suggest I do? My background is in computing science, but the physics behind these curves is beyond me. Any suggestions will be appreciated.

As an example I attach the "roll distance as a function of OAT, mass, and wind" for our PA-28-161. The image shows the actual document from our POH. I apologise for the Swedish labels, but this is in fact our legal document. The left panel shows OAT and pressure altitude, middle panel is take off mass, and rightmost panel shows wind.


enter image description here

  • 3
    $\begingroup$ Though you have developed a tool... have a look at WebPlotDigitizer. $\endgroup$
    – sweber
    Commented May 23, 2021 at 17:23
  • $\begingroup$ Forget about closed formulas unless you understand the physics well enough to know what the formula should look like. Personally, I would use spline curves, not polynomials. $\endgroup$
    – alephzero
    Commented May 23, 2021 at 21:19
  • $\begingroup$ Use a low order polynomial (for example cubic) as your model, but then do some least square fitting to all available data points. This will make use of all available data and not introduce oscillations like higher order polynomials. If you use python, you can use something like scipy.optimize.curve_fit. $\endgroup$
    – user57598
    Commented May 24, 2021 at 1:42

3 Answers 3


If you have a good set of well-spaced points, a best-fit polynomial in $x^2$ or $x^3$ is usually good enough. It's true that high-degree polynomials oscillate, and are therefore unreliable, but you're safe with squares and cubes...

This site is free and quite good: MyCurveFit.


I have digitized many performance charts. I do not have a formula. Instead, I have very carefully tabulated the aircraft weight chart (middle) for each line. I would get all the data for the 1050 line, then the 1025 line, 1000 line, etc. I am OK with a little error between those values... it won't affect the end result that much.

I then enter the chart at the 1055' line and calculate for each weight till I exit the chart at the appropriate weight. In this regard, we are creating a curve with the many points on the line.

The end result will be just as accurate, if not more accurate, than pen and paper.


I wouldn't bother with polynomials (higher than 1 :). Just tabulate the original graphs at the convenient points and use linear interpolation.

Being an aerospace engineer, I could come up with physical formulae for most things. But there are problems. First, this effectively means creating a model, which would need to be extensively validated through the original graphs. Second, exactly because of the legal status of these graphs, the pilots are supposed to use them, and they "prevail" over physical calculations.

Should there be an investigation or even a regular check, the performance calculations will be checked directly with the POH, and the argument that "my computer gave me this figure, and it has a better more accurate model" will not hold.

Furthermore, there are assumptions and simplifications in the standard graphs that for you as a computer scientist may seem to make things more complicated or even incorrect. But they make sense for pilots (who is the "target audience" for these graphs).

First, the data often refers to things the pilot can actually observe: indicated airspeed, indicated pressure altitude etc. They include known errors and idealisations in their design, some of which may not be explicitly disclosed.

Second, pilots often use "rules of thumb" to calculate source data (say, density altitude), or even some other charts from the regulator, instead of "correct" fourmulae. The POH charts may account for the resulting discrepancy (typically by being on the conservative side).

So, if you are going to use the software for the chart's original purpose, i.e. to assist the pilots, I would rather faithfully recreate the original charts in the least risky way, that is, linearly. Given that most of the graphs don't have significant curvature (many are perfectly linear), this may well be the optimal method. I would, though, visually select the most convenient points for each curve instead of using a regular grid. That is, points at the intersections with the original grid, and, of course, with higher density at higher curvature. This will minimise sampling errors.

There could be exceptions, though. For example, there is a chart for calculating cross/headwind components from direction and strength. Obviously, this is just plotted sin/cos. Or when there is an explicit reference to the International Standard Atmosphere (ISA), I would use the original well-established formulae for ISA (e.g.: the temperature gradient is exactly -6.5°/km up to 11 km; but even then you need to be careful which altitude is used here).

What works for you is that the expected accuracy is not very high (in the GA world at least). Given that the graphs are often rather small, nobody can reasonably expect to draw points better than about 1/4 of the grid cell.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .