1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Amate123-A_Star_Matlab

Клонировать/Скачать
check_coordinate.m 745
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
chenshao777 Отправлено 27.03.2023 08:18 7ab66d5
%% 检验坐标是否合法
%1.是否在区域内
%2.是否在障碍物内或者边界处
function re = check_coordinate(mx,my,Ex_min,Ex_max,Ey_min,Ey_max,C,already_frontier)
%1.是否在区域内
if Ex_min>=mx || mx>=Ex_max || Ey_min>=my || my>=Ey_max
re = 0;
return;
end
%2.是否在障碍物内或者边界处(坐标+1的原因是C矩阵从(1,1)开始)
if C(mx,my) == 80 || C(mx,my) == 100
re = 0;
return;
end
%3.%是否在already_frontiner列表中,在的话忽略
if ismember([mx,my],cell2mat(already_frontier(:,2:3)),'rows')
%if isempty(find(already_frontier(3,already_frontier(2,:)==mx)==my,1))==0
re = 0;
return;
end
%只有以上条件都不满足时,执行到这一句,说明该坐标合法
re = 1;
end

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Amate123-A_Star_Matlab.git
git@api.gitlife.ru:oschina-mirror/Amate123-A_Star_Matlab.git
oschina-mirror
Amate123-A_Star_Matlab
Amate123-A_Star_Matlab
master