Very cool stuff; I could see this being really useful in heuristic vehicle routing work I do.
By the way, in the readme should the 2d example which creates the line y = 1 first create the x-axis (y=0) and then offset? It looks like you're using the second component vector [0,1].