测量编程吧 关注:1贴子:6
  • 0回复贴,共1
dcf=input('请输入地面定向边的方位角=');
dca=input('请输入定向边方位角与联系三角形的夹角=');
dcad=input('请输入地下要推算的CD边与联系的夹角=');
a1=input('请输地面角度观测值A=');
b1=input('请输地面角度观测值B=');
c1=input('请输地面角度观测值C=');
a1d=input('请输地下角度观测值A’=');
b1d=input('请输入地下角度观测值B’=');
c1d=input('请输入地下角度观测值C’=');
a=input('请输地面边长观测值a=');
b=input('请输地面边长观测值b=');
c=input('请输地面边长观测值c=');
ad=input('请输地下边长观测值a’=');
bd=input('请输地下边长观测值b’=');
cd=input('请输地下边长观测值c’=');
xc=input('请输入已知点c的X坐标');
yc=input('请输入已知点c的y坐标');
daicebian=input('请输入地下c’d‘的观测边长=');
format short;
if a1<b1 && b1d<a1d
caf=dcf+dca-pi;
caf=fangwei(caf);
abf=caf-a1+pi;
abf=fangwei(abf);
bcfd=abf+b1d-pi;
bcfd=fangwei(bcfd);
cdfd=bcfd+dcad-pi;
cdfd=fangwei(cdfd);
xa=xc+b*cos(caf);
xb=xa+c*cos(abf);
xcd=xb+ad*cos(bcfd);
xd=xcd+daicebian*cos(cdfd);
ya=yc+b*sin(caf);
yb=xb+c*sin(abf);
ycd=yb+ad*sin(bcfd);
yd=ycd+daicebian*sin(cdfd);
disp('推算方案为C->A->B->C’->D');
disp('推算各个点坐标为');
A=[xa,ya]
B=[xb,yb]
C=[xcd,ycd]
D=[xd,yd]
x=[xc,xa,xb,xcd,xd];
y=[yc,ya,yb,ycd,yd];
plot(x,y,'-+')
elseif a1<b1 && b1d>=a1d
caf=dcf+dca-pi;
caf=fangwei(caf);
acfd=caf-a1d;
acfd=fangwei(acfd);
cdfd=acfd+dcad-pi;
cdfd=fangwei(cdfd);
xa=xc+b*cos(caf);
xcd=xa+bd*cos(acfd);
xd=xcd+daicebian*cos(cdfd);
ya=yc+b*sin(caf);
ycd=ya+bd*sin(acfd);
yd=ycd+daicebian*sin(cdfd);
disp('推算方案为C->A->C’->D');
disp('推算各个点坐标为');
A=[xa,ya]
C=[xcd,ycd]
D=[xd,yd]
x=[xc,xa,xcd,xd];
y=[yc,ya,ycd,yd];
plot(x,y,'-+')
elseif a1>=b1 && b1d<a1d
cbf=dcf+dca+c1-pi;
cbf=fangwei(cbf);
bcfd=cbf+b1+b1d-pi;
bcfd=fangwei(bcfd);
cdfd=bcfd+c1d+dcad-pi;
cdfd=fangwei(cdfd);
xb=xc+a*cos(cbf);
xcd=xb+ad*cos(bcfd);
xd=xcd+daicebian*cos(cdfd);
yb=yc+a*sin(cbf);
ycd=yb+ad*sin(bcfd);
yd=ycd+daicebian*sin(cdfd);
disp('推算方案为C->B->C’->D');
disp('推算各个点坐标为');
B=[xb,yb]
C=[xcd,ycd]
D=[xd,yd]
x=[xc,xb,xcd,xd];
y=[yc,yb,ycd,yd];
plot(x,y,'-+')
elseif a1>=b1 &&b1d>=a1d
cbf=dcf+dca+c1-pi;
cbf=fangwei(cbf);
baf=cbf+c1-pi;
baf=fangwei(baf);
acfd=baf-a1d+pi;
acfd=fangwei(acfd);
cdfd=acfd+dcad-pi;
cdfd=fangwei(cdfd);
xb=xc+a*cos(cbf);
xa=xb+c*cos(baf);
xcd=xa+bd*cos(acfd);
xd=xcd+daicebian*cos(cdfd);
yb=yc+a*sin(cbf);
ya=yb+c*sin(baf);
ycd=ya+bd*sin(acfd);
yd=ycd+daicebian*sin(cdfd);
disp('推算方案为C->B->->A->C’->D');
disp('推算各个点坐标为');
A=[xa,ya]
B=[xb,yb]
C=[xcd,ycd]
D=[xd,yd]
x=[xc,xb,xa,xcd,xd];
y=[yc,yb,xa,ycd,yd];
plot(x,y,'-+')
end


1楼2018-12-25 10:20回复