Definition of a bend -------------------- Ends of the line should always be bends, otherwise not all line vertices are covered by bends (definition elsewhere). Gentle inflection at the end of the bend ---------------------------------------- The article does not specify how many vertices should be included when calculating the end-of-bend inflection. We chose the iterative approach -- as long as the angle is "right" and the distance is (greedily) decreasing, keep going. Self-line crossing when cutting a bend -------------------------------------- The self-line-crossing may happen after a few bends have been skipped. E.g. ends of A<->B cross the line, but "swallow" a few more in between: ,______ / \ |___A | \ \ \ | B\ | __ \ | | | / \ / | | |___,---,___/A | / | \_________________| \ | \ | \ \ / / B\ | _ __ ----/ / | | / \ / \ / ,____/ | |___/ \___/A | / B| \_________________| | If a bend with 180+ deg sum of inflection angles is found, its line between inflection angles (AB in our examples) must be crossed with all the other bends to detect a possible line-crossing. This is O(N*M), where N is the total number of line segments, and M is the number of qualifying bends. It is expensive. Also, there is another way to remove self-crossing, without removing most of the bend. E.g. from: \ / B\ | __ | | / \ | |____/A | \__________| Instead of: \ / \/ A' B To: \ \_ B\ `-,_.__ | A' \ | | \__________| But perhaps it doesn't look quite as natural. I will trust the original article to do the right thing here and remove the bend altogether.