برنامه زیر را در متلب کپی کنید
clc
clear all
format long g
%barname taghato va tarfi%
%noghat az chap be rast hastand%
q=input('baraye taghato 1 & baraye tarfi 2 =');
w=input('baraye darage 1 & baraye gerad 2 =');
if q==1;
xa=input('xa=');ya=input('ya=');
xb=input('xb=');yb=input('yb=');
al=input('alfa=');be=input('beta=');
if w==1;
alfa=al;
beta=be;
elseif w==2;
alfa=(al*180)/200;
beta=(be*180)/200;
end;
omega=180-(alfa+beta);
dxab=xb-xa;dyab=yb-ya;
lab=sqrt(dxab^2+dyab^2);vab=atand(abs(dxab/dyab));
if dxab>=0&dyab>=0;
gab=vab;
elseif dxab>=0&dyab<=0;
gab=180-vab;
elseif dxab<=0&dyab<=0;
gab=180+vab;
elseif dxab<=0^dyab>=0;
gab=360-vab;
end;
gam=gab+alfa;lam=(lab*sind(beta))/sind(omega);
xm=xa+(lam*sind(gam));
ym=ya+(lam*cosd(gam));
m=[xm ym]
elseif q==2;
xa=input('xa=');ya=input('ya=');
xb=input('xb=');yb=input('yb=');
xc=input('xc=');yc=input('yc=');
al=input('alfa=');be=input('beta=');
if w==1;
alfa=al;
beta=be;
elseif w==2;
alfa=(al*180)/200;
beta=(be*180)/200;
end;
xn=(xa*cotd(alfa)+xc*cotd(beta)+(ya-yc))/(cotd(alfa)+cotd(beta));
yn=(ya*cotd(alfa)+yc*cotd(beta)+(xc-xa))/(cotd(alfa)+cotd(beta));
dxbn=xn-xb;dybn=yn-yb;
vbn=atand(abs(dxbn/dybn));
if dxbn>=0&dybn>=0;
gbn=vbn;
elseif dxbn>=0&dybn<=0;
gbn=180-vbn;
elseif dxbn<=0&dybn<=0;
gbn=180+vbn;
elseif dxbn<=0&dybn>=0;
gbn=360-vbn;
end;
dxab=xb-xa;dyab=yb-ya;
vab=atand(abs(dxab/dyab));
if dxab>=0&dyab>=0;
gab=vab;
elseif dxab>=0&dyab<=0;
gab=180-vab;
elseif dxab<=0&dyab<=0;
gab=180+vba;
elseif dxab<=0&dyab>=0;
gab=360-vab;
end;
if
b1=gba-gbn;a=180-(b1+alfa);
dxab=xb-xa;dyab=yb-ya;
lab=sqrt(dxab^2+dyab^2);
if gba>=180;
gab=180-(360-gba);
elseif gba<180;
gab=360-(180-gba);
end;
gam=gab+a;lam=(lab*sind(b1))/sind(alfa);
xm=xa+(lam*sind(gam));
ym=ya+(lam*cosd(gam));
m=[xm ym]
end