I have been thinking about this problem for a while and I'm curious if anyone knows of a good paper on this, has any ideas for algorithms or improvements to the framework.
The task is to store the formulas for approximate tangent lines between previous inflection points and to add unique points/rays to memory over time.
A rough framework of how I intend on achieving this is as follows:
- Generate a recursively smoothed filter on the data and call a search function when the derivative crosses from positive to negative or vice versa
- Store the point in an inflection points list then check if the point is a continuation of any previously calculated rays, or creates a unique ray with other points in the list.
- If the point is a continuation, then add it to a dictionary mapping ray formulas to the previously connected points.
- If the point forms a unique ray with another inflection point in the list, then add a new entry to the dictionary.
- Each approximately tangential ray is going to be represented by two parallel rays to allow some room for error. Functionally this will act as more of a range than individual points throughout time.
- All points and formulas are important and should be maintained over time
If anyone has any ideas on how to lessen the computational complexity of this task, has any resources relating to similar projects, or knows of python libraries that would help - that would be great.