One approach is to let the midpoint of the curve be a random point within (curve length)/2 of both of the starting point and the end point, and then iterate. For curves of length 1 between (0,0) and (1/2,0) that gives results like this: [![three random curves][1]][1] In more detail, to connect a starting point and ending point by a curve of length $2c$, draw circles of radius $c$ about both points, and randomly pick a point in the intersection to be the midpoint of the curve. So from the points at distance 0 and 1 on the curve, calculate the point at distance 1/2, and then the points at distance 1/4 and 3/4, etc. For the pictures above, I went down to distance 1/1024, picking points in the inscribed rhombus rather than the curved shape to simplify the algebra. [![diagram][2]][2] I have no reference for this, but I believe that with probability 1 it generates curves of length 1. I've attached the Mathematica code for a curve in a comment if you want to play with it. [1]: https://i.sstatic.net/6fazv.png [2]: https://i.sstatic.net/9aSF6.png