nearestvertex

Запросите самую близкую вершину polyshape

Синтаксис

[vertexid,boundaryid,ind] = nearestvertex(polyin,x,y)
[vertexid,boundaryid,ind] = nearestvertex(polyin,P)

Описание

пример

[vertexid,boundaryid,ind] = nearestvertex(polyin,x,y) находит вершину скалярного объекта polyshape, который является самым близким к каждой 2D точке запроса. Координаты точек запроса заданы в x и y. Вывод содержит три вектора:

  • vertexid содержит номер строки в polyin.Vertices, соответствующем самой близкой вершине для каждой точки запроса.

  • boundaryid содержит граничный индекс polyin, соответствующего самой близкой вершине для каждой точки запроса.

  • ind содержит самый близкий индекс вершины в контуре boundaryid для каждой точки запроса.

[vertexid,boundaryid,ind] = nearestvertex(polyin,P) задает точки запроса как матричный P с 2 столбцами, первый столбец которого содержит x-координаты и чей второй столбец содержит соответствующие y-координаты.

Примеры

свернуть все

Создайте объект polyshape и вычислите самую близкую вершину polyshape к точке запроса (2 1.8).

P = [1 1; 3 1; 2 2];
polyin = polyshape(P);
[vertexid,boundaryid,ind] = nearestvertex(polyin,2,1.8);

Постройте график polyshape и точки запроса черного цвета цвета.

plot(polyin)
hold on
plot(2,2.5,'k*')

Теперь постройте график самой близкой вершины красного цвета. Значение vertexid позволяет вам индексировать в строку polyin.Vertices, соответствующего самой близкой вершине, получая доступ к ее координатам.

plot(polyin.Vertices(vertexid,1),polyin.Vertices(vertexid,2),'r*')
hold off

Входные параметры

свернуть все

Введите polyshape, заданный как скалярный объект polyshape.

Введите координаты 2D точек запроса, заданных как скаляры или векторы. x и y должны иметь ту же длину.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Введите вершины 2D точек запроса, заданных как матрица с 2 столбцами. Первый столбец P содержит x-координаты, и второй столбец содержит соответствующие y-координаты.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

ID вершины, возвращенный как скаляр или вектор. vertexid содержит номер строки во входном параметре polyshape, соответствующий самой близкой вершине для каждой точки запроса. vertexid является той же длиной как векторы точки запроса или массив.

Типы данных: double

Граничный ID, возвращенный как скаляр или вектор. boundaryid содержит граничный индекс входного параметра polyshape, соответствующий самой близкой вершине для каждой точки запроса. boundaryid является той же длиной как векторы точки запроса или массив.

Типы данных: double

Индексируйте, возвращенный как скаляр или вектор. ind содержит самый близкий индекс вершины в контуре boundaryid для каждой точки запроса.

Типы данных: double

Смотрите также

| | |

Представленный в R2018a

Была ли эта тема полезной?