Hi again.
It's not an easy concept to explain so I'll try in bullet point
Using my example NC code from below.
- Time = 0
Program start - Tracking deviation
For the first vector (X100, Y100, Z100, F2000) each probed coordinate *should* follow this vector, any deviation (position and/or vector dot product) is the error you're looking for. - Keep track of the distance travelled
Each probed coordinate provides an incremental distance travelled (vector length) - Timing
The vector length of each incremental movement should be equivalent to delta time (time increment) / feed rate. Devations will highlight how the machine accelerates and deccelerates, or simply doesn't achieve the programmed feedrate (this may not be important to you but it should be apparent in the data). - turning points
When approaching the end of the current vector (noticable by comparing vector length & distance travelled) you should see the deviation grow if it rounds the corners, or see it change rapidly. Once the dot product is closer to the Next Vector, than it is to the Current Vector, track relative to the Next Vector
I've never done this by the way, so don't take my methods as fact

but I've done enough CAD, 3d graphics programming etc to poke my nose in. Hope it helps!