У меня есть много кривых конечной длины в области XY.Эти кривые представлены в виде наборов точек.
Мне нужно дискретизировать мою область с помощью прямоугольников (или треугольников), чтобы каждый прямоугольник (или треугольник) пересекался, например, более чем на 2 кривые и менее чем на 5 кривых.Даже если в любом прямоугольнике нет точки, но интерполированная кривая находится в этом прямоугольнике, эта кривая пересекает этот прямоугольник.Края соседних прямоугольников должны стоять близко друг к другу (касаться друг друга), и эти прямоугольники должны покрывать всю область, где существуют кривые.
В качестве вывода мне нужно получить координату XY каждого прямоугольника (треугольника).Я попытался объяснить мою проблему на картинке ниже.Так что, возможно, кто-то знает, как решить эту проблему, или проблема уже решена.Буду признателен за любую информацию!Я пытаюсь реализовать это в Matlab , и мне интересно, можно ли решить это с помощью функции linprog () в Matlab?
Спасибо!
Для построения кривых используйте:
clearvars -except Gpath
clc
nG = size(Gpath,1);
mG = size(Gpath,2);
figure;
for n = 1:nG*mG
if ~isempty(Gpath{n})
plot(Gpath{n}(2,:),Gpath{n}(1,:));
hold on;
end
end
grid on;
Изображение: 2D область с прямоугольниками
Файл с кривыми: .mat file