Curved line through points

461 Views Asked by At

Chart Example

I would like to be able to do something like this in c++.

How can I go about creating a nice curved line like this through a list of points?

Can anyone please point me in the direction of the relevant maths?

Edit 1:

Here is another example of what I would like from the output.

Graph 2

I need to be able to calculate Y for any given X...

Edit 2:

Please don't just post existing APIs, chances are they will be useless on an MCU. I would prefer reading the maths...

2

There are 2 best solutions below

6
On

One way is to consider the method of Quadratic Least Square Regression. For an example in C# see CodeProject-Least Square Regression for Quadratic Curve.

The point to notice is that such methods make assumptions about the function value for the data you don't provide. For example, it assumes that data at $x=4.5$. Such assumptions may not be correct.

I assume that Excel is using QR Decomposition method to produce your chart.

For starters, this introduction may help: Seminar-Curve Fitting

5
On

I wrote up some notes on cubic splines, just a couple of pages about a third of the way through these notes. I think the calculations are not too hard.