题目→
题目参考杨可明老师编写的摄影测量学基础第3章思考题。下面几张图片展示题目内容。
答案→
具体原理参考教材前面的所讲述的共线方程的内容,以及注意这是近垂直摄影。
答案所用matlab程序如下:
close all
clear all
clc
x=[-86.15,-53.40,-14.78,10.46];
y=[-68.99,82.21,-76.63,64.43];
X=[36589.41,37631.08,39100.97,40426.54]*1000;
Y=[25273.32,31324.51,24934.98,30319.81]*1000;
Z=[2195.17,728.69,2386.50,757.31]*1000;
XS=0;
YS=0;
ZS=0;
p=0;
w=0;
k=0;
f=153.24;
for circle=1:100%循环的次数可以改,或者可以设定一个阈值来判定
a1=cos(p)*cos(k)-sin(p)*sin(w)*sin(k);
a2=-cos(p)*sin(k)-sin(p)*sin(w)*cos(k);
a3=-sin(p)*cos(w);
b1=cos(w)*sin(k);
b2=cos(w)*cos(k);
b3=-sin(w);
c1=sin(p)*cos(k)+cos(p)*sin(w)*sin(k);
c2=-sin(p)*sin(k)+cos(p)*sin(w)*cos(k);
c3=cos(p)*cos(w);
% H=1;
for i=1:4
A(2*i-1,1)=-f/(ZS-Z(i));
A(2*i-1,2)=0;
A(2*i-1,3)=-x(i)/(ZS-Z(i));
A(2*i-1,4)=-f*(1+x(i)^2/f^2);
A(2*i-1,5)=-x(i)*y(i)/f;
A(2*i-1,6)=y(i);
A(2*i,1)=0;
A(2*i,2)=-f/(ZS-Z(i));
A(2*i,3)=-y(i)/(ZS-Z(i));
A(2*i,4)=-x(i)*y(i)/(ZS-Z(i));
A(2*i,5)=-f*(1+y(i)^2/f^2);
A(2*i,6)=-x(i);
x1=-f*(a1*(X(i)-XS)+b1*(Y(i)-YS)+c1*(Z(i)-ZS))/(a3*(X(i)-XS)+b3*(Y(i)-YS)+c3*(Z(i)-ZS));
y1=-f*(a2*(X(i)-XS)+b2*(Y(i)-YS)+c2*(Z(i)-ZS))/(a3*(X(i)-XS)+b3*(Y(i)-YS)+c3*(Z(i)-ZS));
L(2*i-1,1)=x(i)-x1;
L(2*i,1)=y(i)-y1;
end
dX=(A'*A)\A'*L;
YS=YS+dX(2);
XS=XS+dX(1);
ZS=ZS+dX(3);
p=p+dX(4);
w=w+dX(5);
k=k+dX(6);
end