Not really! I’m approaching it from another angle.
I’ve implemented everything I need already. Point, vector, line, plane, polyline, etc.! Plus a translation layer from my custom classes to RhinoCommon, to preview stuff in Rhino, export geometry through Rhino, and so fourth.
Yes, I have that part already! Finite line-line-intersections are pretty easy to figure out. There is lots of documentation online and in maths books.
I’ve implemeted most of what I need. Don’t worry about it! My polyline may not have a SegmentAt() method, but there are other ways to get a desired line segment.
What I am curious about is how polyline self-intersections, like shown above, are usually detected!