I was inspired by Rapidly Exploring Random Trees, and wanted to make a halftoning method based on that. I wanted more lines in dark areas and fewer in bright areas. With some tweaks on the concept, I’ve made something that works reasonably well. It probabilistically chooses new line segment endpoints that are relatively close to the existing segments, and not in areas that are already sufficiently covered.
Here’s an animation of the process with the Lena image:
What tweaks are possible? Well, how about a limited set of angles? Or only branching from the endpoints of line segments? Here are some examples of those. The rows are 4 or 6 angles, the right column only allows branching from endpoints.