По диаграмме Вороного

В функции диаграммы Вороного в MATLAB вершины бесконечно удаленных ребер нанесены на некоторую удаленную точку. Взгляните на первую диаграмму на странице здесь. Первая точка сверху по оси Y равна (0,0,75). (Хотя он выходит за пределы изображения). Я знаю, запускаю ли я следующую функцию Matlab:

[vx,vy]=voronoi(x,y)

Я могу получить координаты вершин, но они будут за пределами графика. Есть ли способ получить координату в пределах графика (например, (0,0,75), как указано выше).


person Autonomous    schedule 04.02.2013    source источник


Ответы (1)


Все, что вам нужно, это определить, какая из vx,vy пересекает оси (используя find или логические условия, find(vx<0) , find(vy>1) и т. д.), а затем применить уравнение линии y=a*x+b. Для точки, которую вы хотели (которая оказывается 19-м столбцом vx,vy, наклон a равен:

a=diff(vy(:,19))/diff(vx(:,19));

а пересечение с осью y задается b:

b=vy(1,19)-a*vx(1,19)

b =
    0.7546

Для расчета b я выбрал первую точку [vx(1,19),vy(1,19)], но это, конечно, работает и для второй точки, т.е. b=vy(2,19)-a*vx(2,19)

person bla    schedule 04.02.2013