Если речь про ломаные, состояшие из прямых отрезков, вот тут есть вариант -
Algorithm for finding the segment overlapping two ...
Если нужно отлавливать приблизительное наложение, придется поиграться с углом и динамическим параметром, который будет регулировать, что считать наложением (принимать некую длину где отрезки формально не накладываются, но с учетом масштаба - приняты за наложение). Это чуть сложнее, и требует экспериментов.