Comment 6 for bug 1487424

Revision history for this message
Alvin Penner (apenner) wrote :

attached is a proposed fix for this bug.

The origin of the problem seems to be the multiple derivatives that are, sometimes, being taken in the routine 'touching_circle' in the file lpe-powerstroke.cpp, in the case where the incoming derivative is very small. The multiple derivatives are presumably being taken in order to expose higher-order non-trivial behavior. There are cases where this may be productive, for example if 't' has been arbitrarily replaced by t-squared so that the first derivative is trivial but the second derivative is not. However, if the underlying curve is already linear then there is no purpose served by taking multiple derivatives, so the new code avoids this case.