is probably … unreliable.
What is the “rule”?
A line is “short” if other near are longer? (and vice-versa)
Or, if the start and and point of the line are (both) in a convex part of the main curve, it is a “long”, and opposite if in concave is “short”? If so, what about one that start in concave and end in convex?
Used again that “derivative torus graph” of mine.
(Does this thing even have a proper name? … It’s just a pseudo: “let’s avoid math and solve everything with geometrical construction” … )
Not even that much components… the “algorythm” is not even much complex.
DataTrees appeared (and promptly avoided) just because the “IsoVist Ray” component failed for me… so i used CCX instead (and so I had to pick the first intersection).
Some last step you could do is to re-check if a found line is really double-perpendicular to start curve.
And maybe try to merge very similar lines to a single one. (I don’t know if “Remove duplicate lines” component do an average or “leave one” …)