资源简介
主要是文章的算法验证。
Yaojili——验证算法,转换方程
Y_all——计算转换7参数
Y_angel——生成500组数据,验证算法
姚吉利——3维坐标转换参数直接计算的严密公式——文中标注为勘误。
代码片段和文件信息
%lambda求解和验证坐标转换的误差
%参见文章:《3维坐标转换参数直接计算的严密公式》,姚吉利
clear
close all
clc
format long
a=[ 352.45 5643.87 89.43 48638.78 39746.41 6028.4
265.435 3085.45 123.34 50795.75 40894.7 5264.7
1189.324 57.324 110.14 53155.29 42994.41 5047.4
];
for i=1:2
b(i1)=sqrt((a(i1)-a(i+11))^2+(a(i2)-a(i+12))^2+(a(i3)-a(i+13))^2);
b(i2)=sqrt((a(i4)-a(i+14))^2+(a(i5)-a(i+15))^2+(a(i6)-a(i+16))^2);
if i+2<4
b(31)=sqrt((a(i1)-a(i+21))^2+(a(i2)-a(i+22))^2+(a(i3)-a(i+23))^2);
b(32)=sqrt((a(i4)-a(i+24))^2+(a(i5)-a(i+25))^2+(a(i6)-a(i+26))^2);
end
end
for i=1:3
b(i4)=b(i2)/b(i1);
end
%已知三点,求面积
p1=0.5*(b(11)+b(21)+b(31));
p2=0.5*(b(12)+b(22)+b(32));
ap=sqrt(p1*(p1-b(11))*(p1-b(21))*(p1-b(31)));
bp=sqrt(p2*(p2-b(12))*(p2-b(22))*(p2-b(32)));
b(13)=(sum(b(1:34)))/3;
r=[
-0.1606779280000000000000000 -0.8305490170000000000000000 0.5332644130000000000000000
0.6932789580000000000000000 -0.4795326570000000000000000 -0.5379709300000000000000000
0.7025289240000000000000000 0.2832609430000000000000000 0.6528524700000000000000000
];
delta=[
53335.2668000000000000000000000 53335.2668000000000000000000000 53335.2668000000000000000000000
42256.6133000000000000000000000 42256.6133000000000000000000000 42256.6133000000000000000000000
4123.7169000000000000000000000 4123.7169000000000000000000000 4123.7169000000000000000000000
];
%lambda=1.0000074694000000000000000;
lambda=1.0000069785416400000000000;
xs=[352.45 5643.87 89.43
265.435 3085.45 123.34
1189.324 57.324 110.14
];
xtt=[48638.78 39746.41 6028.4
50795.75 40894.7 5264.7
53155.29 42994.41 5047.4
];
xt=delta+lambda*r*xs‘;
err=xt-xtt‘;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 154 2010-12-17 16:30 说明.txt
文件 199404 2010-12-17 16:30 姚吉利——3维坐标转换参数直接计算的严密公式.pdf
文件 60371 2010-12-17 16:31 原创 Bursa-Wolf坐标变换MATLAB求解.pdf
文件 2475 2010-12-16 17:24 Y_all.m
文件 2026 2010-12-17 15:47 Y_angel.m
文件 1836 2010-12-16 12:49 Yaojili.m
----------- --------- ---------- ----- ----
266266 6
评论
共有 条评论