# How to find fluctuant parts in a trajectory

I am currently doing an assignment on how to compress a trajectory. Given a trajectory T1 in figure 1, and I want to get a compressed version as T2. For segments p0~p3 and p6~p9 in T2, I can obtain them using traditional line simplification algorithms, such as Douglas-Peucker algorithm. However, in my opinion, segment p3~p6 is very important for further analysis, so, I want to preserve this part while compression T1.

How can I do it?

Segment p3~p6 can be called fluctuant part. It is composited with points that with relative slower speed and continuous direction changes. May be there are any other accurate definitions to describe this part.

Convex hull approach?

Take 1st 4 points and create 2 polygons, 1st being simple polygon connecting points in original order, close it to 1st point.

Calculate convex hull of points and compare the areas of 2 polygons. If areas are different this is 'wrong' shape.

Proceed with point 1..4, etc. Count how many times each point participate in wrong polygon. For example shown it is going to be something like

0,0,1,2,2,2,1,0,0,0.

I'd say everything <>0 is a twisty section

This planar curve seems to be partially defined as bezier-curve or something like that (p0-p3) and (p6-p9) and so far you can determine the 'bending' or 'curvature' (not quite sure if this is the correct term for the second derivation in pn) and then define criteria whether a point is to keep or not (bending 'very small' and no sign change for example). If the curve is obviously not differentiable (this in my opinion is the accurate definition you're asking for) like in p3-p6 (line segments) the points are to be kept anyway.