相对定向—绝对定向解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相对定向—绝对定向解法
相对定向—绝对定向解法实验报告1、实验代码
1.1根据所给同名像点的像平面坐标进行相对定向,求解相对的相对定向元素function xP= xiangduidingxiang( Lxy,Rxy,f ) %UNTITLED Summary of this function goes here
% Detailed explanation goes here
%设置相对定向元素是初始值
u=0;
v=0;
w=0;
q=0;
k=0;
bu=Rxy(1,1)-Lxy(1,1);
while (1)
%求解余弦元素
a1=cos(q)*cos(k)-sin(q)*sin(w)*sin(k);
a2=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k);
a3=-sin(q)*cos(w);
b1=cos(w)*sin(k);
b2=cos(w)*cos(k);
b3=-sin(w);
c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);
c2=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k);
c3=cos(q)*cos(w);
R=[a1,a2,a3;b1,b2,b3;c1,c2,c3];
[n,m]=size(Lxy);
u2=[];v2=[];w2=[];
for i=1:n
u2(i)=a1*Rxy(i,1)+a2*Rxy(i,2)-a3*f;
v2(i)=b1*Rxy(i,1)+b2*Rxy(i,2)-b3*f;
w2(i)=c1*Rxy(i,1)+c2*Rxy(i,2)-c3*f;
end
for i=1:n
u1(i)=Lxy(i,1);
v1(i)=Lxy(i,2);
w1(i)=-f;
end
bv=bu*u;
bw=bu*v;
for i=1:n
N1(i)=(bu*w2(i)-bw*u2(i))/(u1(i)*w2(i)-u2(i)*w1(i));
N2(i)=(bu*w1(i)-bw*u1(i))/(u1(i)*w2(i)-u2(i)*w1(i)); end for i=1:n
a(i)=-u2(i)*v2(i)*N2(i)/w2(i);
b(i)=-(w2(i)+v2(i)*v2(i)/w2(i))*N2(i);
c(i)=u2(i)*N2(i);
d(i)=bu;
e(i)=-v2(i)*bu/w2(i);
l(i)=N1(i)*v1(i)-N2(i)*v2(i)-bv;
end
%组成法方程系数阵A
A=zeros(n,5); %c个控制点,A:c行,5列
for i=1:n
A(i,1)=a(i);
A(i,2)=b(i);
A(i,3)=c(i);
A(i,4)=d(i);
A(i,5)=e(i);
L(i,1)=l(i);
%求解改正数X
X=inv((A')*A)*(A')*L;
q=q+X(1,1);w=w+X(2,1);k=k+X(3,1);u=u+X(4,1);v=v+X(5,1);
%求解改正数绝对值的最大项,判断最大项是否小于限差
Xabs=abs(X);
aaa=max(Xabs);
if aaa<0.00003 %当改正数中绝对值最大的改正数小于限差0.00003 break; %后跳出循环,计算结果已经收敛
end
xP=[u,v,q,w,k ];
end
1.2根据所给控制点的像平面坐标,求解控制点的模型坐标
function M= calmodelcord(xP,Lxy,Rxy,f,m)
h(1,:)=[0,0,0,0,0,0];
bu=(Lxy(1,1)-Rxy(1,1))*m;
bv=bu*xP(1);
bw=bu*xP(2);
h(2,:)=[bu,bv,bw,xP(3),xP(4),xP(5)];
M= qianfang(h,Lxy,Rxy,f);
end
1.3利用控制点的地面摄影测量坐标和模型坐标求解相对立体模型的绝对定向元素function [jP,Accuracy]= jueduidingxiang(M,G) %UNTITLED Summary of this function goes here
% Detailed explanation goes here
%设置绝对定向元素是初始值
Xs=0;
Ys=0;
Zs=0;
q=0;
k=0;
r=1;
[n,m]=size(G);
gt=sum(G)/n;
gm=sum(M)/n;
for i=1:n
%Mg(i,:)=M(i,:)-gm;
%Gg(i,:)=G(i,:)-gt;
Mg(i,:)=M(i,:) ;
Gg(i,:)=G(i,:) ;
end
%组成法方程系数阵A
%A=zeros(3*n,4); %c个控制点,A:2c行,6列A=zeros(3*n,7);
for i=1:n
A(3*i-2,:)=[1,0,0,Mg(i,1),-Mg(i,3),0,-Mg(i,2)];
A(3*i-1,:)=[0,1,0,Mg(i,2),0,-Mg(i,3),Mg(i,1)];
A(3*i-0,:)=[0,0,1,Mg(i,3),Mg(i,1),Mg(i,2),0];
end
while(1)
%求解余弦元素
a1=cos(q)*cos(k)-sin(q)*sin(w)*sin(k);
a2=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k);
a3=-sin(q)*cos(w);
b1=cos(w)*sin(k);
b2=cos(w)*cos(k);
b3=-sin(w);
c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);
c2=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k);