- l = (intersection(line(corners[0], corners[1]), line(c,d)),
- intersection(line(corners[2], corners[3]), line(c,d)))
+ if d:
+ l = (intersection(line(corners[0], corners[1]), line(c, d)),
+ intersection(line(corners[2], corners[3]), line(c, d)))
+ else:
+ lx = line(c, (c[0] + corners[0][0] - corners[3][0],
+ c[1] + corners[0][1] - corners[3][1]))
+ l = (intersection(line(corners[0], corners[1]), lx),
+ intersection(line(corners[2], corners[3]), lx))