function complicateLine(ztolerance, x1, y1, x2, y2) {
var constructionOrder = 1
var cl = function(i, l, r) {
let ps = [l, r]
let x1 = l[0], y1 = l[1], x2 = r[0], y2 = r[1]
if(Math.sqrt(Math.pow(x1-x2, 2) + Math.pow(y1-y2, 2)) > ztolerance) {
let mp = [(x1+x2)/2, (y1+y2)/2]
mp.push(constructionOrder+=1)
let lm = cl(i, l, mp)
let rm = cl(i, mp, r)
ps = lm.concat(rm.slice(1))
}
return ps
}
return cl(0, [x1, y1, 0], [x2, y2, 1])
}