GD_pass
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
function [ gdpass] = GD_pass( speed,max_veerangle,movedirection,coordinate )
%UNTITLED4 Summary of this function goes here
% Detailed explanation goes here
%速度方向为movedirection,大小为speed,最大转弯角为Max_veerangle,坐标为coordinate
%输出--候选移动栅格【n*2】,对应栅格坐标(x,y)
cc=0;
lf=[];
gdpass=[];
theta_min=movedirection-max_veerangle;
theta_max=movedirection+max_veerangle;
idx_theta=1:length(theta_min);
result_1 = (theta_max - theta_min)*(0:50)./50;
temp=repmat(theta_min,1,length(result_1));
theta=result_1+temp;
gdpass_t(:,:,length(theta_min))=zeros(100,2);
for idx=idx_theta
temp_spcos=speed(1,:)*cos(theta(idx,:));
temp_spsin=speed(1,:)*sin(theta(idx,:));
temp_gdpass(:,1,idx)=round(repmat(coordinate(idx,1),1,length(temp_spcos))+temp_spcos);
temp_gdpass(:,2,idx)=round(repmat(coordinate(idx,2),1,length(temp_spcos))+temp_spsin);
% end
%
% %需要判断x,y取值,0
usaa=unique(temp_gdpass(:,:,idx),'rows');%%//以上挑出候选移动栅格
sizes=size(usaa);
gdpass_t(1:sizes(1),1:sizes(2),idx)=usaa;
%%选出符合x,y限制的gdpas
temp_cy=selectgdpass(gdpass_t(:,:,idx));%%
if isempty(temp_cy)==0
udji=size(temp_cy);
lg=udji(1);
gdpass(1:lg,1:2,idx)=temp_cy;
end
end