Ответ 1
Это проблема вычислительной геометрии, возможно, в некоторых учебниках могут быть некоторые решения, но следует предупредить, что эти проблемы, как правило, очень трудно решить, и конечная точность является реальной проблемой. Что касается этой проблемы (в 2D), то вы, вероятно, ищете, что линии находятся рядом с collinear. Обычно, чтобы определить, являются ли линии коллинеарными, нужно сначала поместить их в векторное представление , затем взять точечный продукт между векторами, который будет равный косинусу угла между линиями. Итак, если это значение близко к одному, они близки к коллинеарным и должны быть объединены.
Следующая проблема заключается в определении того, являются ли линии достаточно близкими, чтобы их нужно было соединить. Вы можете сделать это, найдя строки, которые intersect или найти строки, которые имеют начальную и конечную точки, которые очень близки... Это еще не все что легко, в общем, но вы, вероятно, можете получить 95% из них таким образом.