精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 1 页
function flag=APIT(xA,yA,xB,yB,xC,yC,xM,yM)
%xA=str2num(xxA);xB=str2num(xxB);xC=str2num(xxC);xM=str2num(xxM);command
%yA=str2num(yyA);yB=str2num(yyB);yC=str2num(yyC);yM=str2num(yyM);command
xxx1=[xA xB xC];
yyy1=[yA yB yC];
[xxx,index]=sort(xxx1); %对X坐标进行排序
yyy=[yyy1(index(1)) yyy1(index(2)) yyy1(index(3))]; %对Y坐标进行做相应变换
max_xxx=xxx(3);
min_xxx=xxx(1);
max_yyy=max(yyy);
min_yyy=min(yyy);
if ((yM<min_yyy)|(yM>max_yyy))
flag=0;
else
if((xB-xA)==0)
xAB=xA;
elseif((yB-yA)==0)
xAB=-10;
else
xAB=xA+((yM-yA)/(yB-yA))*(xB-xA);
end
if((xC-xB)==0)
xBC=xC;
elseif((yC-yB)==0)
xBC=-10;
else
xBC=xB+((yM-yB)/(yC-yB))*(xC-xB);
end
if((xC-xA)==0)
xAC=xC;
elseif((yC-yA)==0)
xAC=-10;
else
xAC=xA+((yM-yA)/(yC-yA))*(xC-xA);
end
if((xAB<xxx(1))|(xAB>xxx(2)))
xAB=-10;
end
if((xBC<xxx(2))|(xBC>xxx(3)))
xBC=-10
APIT算法matlab源代码 来自淘豆网m.daumloan.com转载请标明出处.