exponenta event banner

isInsideSubmap

Проверьте, находится ли позиция запроса внутри выбранной подкарты

Описание

пример

isInside = isInsideSubmap(sMap,pos) проверить, является ли позиция запроса pos, находится внутри выбранной подкарты карты sMap.

[isInside,distToEdge] = isInsideSubmap(sMap,pos) также возвращает расстояние от позиции запроса до ближайшего края подкарты по осям X, Y и Z.

Примеры

свернуть все

Загрузите карту сегментов и элементов из файла MAT.

data = load('segmatchMapFullParkingLot.mat');
sMap = data.segmatchMapFullParkingLot;

Выберите подкарту в пределах карты.

center = [0 30 0];
sz = [40 24 10];
sMap = selectSubmap(sMap,center,sz);

Проверьте три положения, чтобы проверить, находятся ли они внутри подкарты.

pos1 = [0 30 0]; % center
[isInside1,distToEdge1] = isInsideSubmap(sMap,pos1)
isInside1 = logical
   1

distToEdge1 = 1x3 single row vector

   20.0000   12.0000    0.0649

pos2 = [60 0 0]; % completely outside
[isInside2,distToEdge2] = isInsideSubmap(sMap,pos2)
isInside2 = logical
   0

distToEdge2 = 1x3 single row vector

   40.0000   18.0000    0.0649

pos3 = [15 30 0]; % inside, 5 meters from edge in x direction
[isInside3,distToEdge3] = isInsideSubmap(sMap,pos3)
isInside3 = logical
   1

distToEdge3 = 1x3 single row vector

    5.0000   12.0000    0.0649

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

свернуть все

Карта сегментов и элементов, заданная как pcmapsegmatch объект.

Позиция запроса, заданная как 3-элементный вектор вида [x y z].

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

свернуть все

Индикация положения внутри подкарты, возвращаемой как логическая true или false.

Расстояние от позиции запроса до ближайшего края подкарты в осях X, Y и Z, соответственно, возвращаемое в виде 3-элементного вектора.

См. также

Объекты

Функции

Представлен в R2021a