В Matlab у меня есть две матрицы, L1 и L2, содержащие в каждой строке координаты (строка, столбец) нескольких точек в 2D-пространстве:
L1=[1,1;2,2;3,3];
L2=[4,4;5,5;6,5;7,6;8,7];
После построения у меня есть это:
Я пытаюсь реализовать алгоритм, который мог бы объединять линии, одинаково ориентированные. Я пробовал довольно долго. Я предполагаю, что самый простой способ решить эту проблему - выполнить следующие шаги:
- Во-первых: предположим, что L1 и L2 являются двумя отрезками одной и той же прямой (L3).
-Далее: начиная с (1,1) (или (8,7)) оценить ориентацию следующей точки. Другими словами, ориентация точки (2,2) относительно (1,1), точки (3,3,) относительно (2,2) и т. д. И сохраните эти значения.
-Далее: Рассчитать среднее значение из всех значений ориентации.
-Далее: оцените, имеют ли точки сплавления между волокнами, в данном случае (3,3) и (4,4), одинаковую ориентацию.
-Результаты: если предыдущая стадия ИСТИНА, то сплавить волокна. Если FALSE, ничего не делать.
Одним из ключевых моментов здесь является установление точки отсчета, от которой можно измерить углы ориентации. Возможно, этот подход слишком сложен. Я думаю, есть более простой способ и менее затратный по памяти способ. Спасибо.