- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3维空间转换的7参数求解和应用
3维空间转换的7参数求解和应用作者:Kiseigo日期: 2009.02.21前言:由于一直想写7参数的代码,但是却不会,近日得到Blue.Pan的帮助,写下了这些东西。07年在集思学院看到有人写过,但是感觉不太好,不过还是非常感谢作者的开源思想。在此,基于同样的考虑,写了这篇文章,希望对大家有所帮助。如果有错误,希望各位指出,共同学习。在工程测量中,用的最多,同时从数学角度来说也是最严密的转换方法,是经典的三维赫尔墨特法。由于结果中最多可求得七个转换参数,即三个平移参数(、、)、三个旋转参数(Ex、Ey、Ez)和一个尺度缩放因子(m),因此,通常也被称为七参数法。
对两个不同坐标系经过平移,以及三次旋转,尺度改换,可以得到如下的公式。
求解7参数的核心代码如下:/// summary
/// 根据3个或者3个以上的点的两套坐标系的坐标计算7参数(最小二乘法) 适用于小角度转换 bursa模型
/// /summary
/// param name=aPtSource已知点的源坐标系的坐标/param
/// param name=aPtTo已知点的新坐标系的坐标/param
/// param name=sep输出: 7参数/param
public void Calc7Para(PointXYZdbl[] aPtSource, PointXYZdbl[] aPtTo, ref SevenP sep)
{
#region 给A B 矩阵赋值
double[,] arrA = new double[aPtSource.Length * 3, 7]; // 如果是4个已知点, 12 * 7矩阵 A*X=B中的矩阵A
for (int i = 0; i = arrA.GetLength(0) - 1; i++)
{
if (i % 3 == 0)
{
arrA[i, 0] = 1;
arrA[i, 1] = 0;
arrA[i, 2] = 0;
arrA[i, 3] = aPtSource[i / 3].X;
arrA[i, 4] = 0;
arrA[i, 5] = -aPtSource[i / 3].Z;
arrA[i, 6] = aPtSource[i / 3].Y;
}
else if (i % 3 == 1)
{
arrA[i, 0] = 0;
arrA[i, 1] = 1;
arrA[i, 2] = 0;
arrA[i, 3] = aPtSource[i / 3].Y;
arrA[i, 4] = aPtSource[i / 3].Z;
arrA[i, 5] = 0;
arrA[i, 6] = -aPtSource[i / 3].X;
}
else if (i % 3 == 2)
{
arrA[i, 0] = 0;
arrA[i, 1] = 0;
arrA[i, 2] = 1;
arrA[i, 3] = aPtSource[i / 3].Z;
arrA[i, 4] = -aPtSource[i / 3].Y;
arrA[i, 5] = aPtSource[i / 3].X;
arrA[i, 6] = 0;
}
}
double[,] arrB = new double[aPtSource.Length * 3, 1]; // A * X = B 中的矩阵B, 如果有4个点,就是 12*1矩阵
for (int i = 0; i = arrB.GetLength(0) - 1; i++)
{
if (i % 3 == 0)
{
arrB[i, 0] = aPtTo[i / 3].X;
}
else if (i % 3 == 1)
{
arrB[i, 0] = aPtTo[i /
您可能关注的文档
- 3作业5350地域文化.doc
- 3保定市新型农村社会保障现状调查.doc
- 3保险学练习题与案例题目.doc
- 3信息系统集成专业技术知识.doc
- 3保险学习题与案例题题目2013311管技院.doc
- 3云冷杉林健康评价研究.doc
- 3公有经济企业经营管理人才专业技术人才指标解释.doc
- 3公司工程项目管理办法.doc
- 3分钟弄懂中国金融体系钱是如何流动的.doc
- 3分娩期教案0712.doc
- 2025年鸡西市麻山区公益性岗位招聘8人(公共基础知识)测试题附答案.docx
- 杭州之江湾股权投资基金管理有限公司招聘参考题库附答案.docx
- 2026江苏辖区农村商业银行常熟农商银行校园招聘200人(公共基础知识)测试题附答案.docx
- 2025年中国石油新疆油田分公司秋季高校毕业生招聘360人(公共基础知识)综合能力测试题附答案.docx
- 2023年攀枝花市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026广发银行太原分行校园招聘(公共基础知识)测试题附答案.docx
- 2025四川成都医学院招聘事业编制辅导员10人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库必考题.docx
- 2025年合肥市某国有企业2025年岗位外包招聘(公共基础知识)测试题附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
最近下载
- 管道内检测介绍.ppt VIP
- 衍纸教案(16课时)社团兴趣小组活动.doc VIP
- 绵阳市事业单位2025年公开选调工作人员备考题库(70人)附答案解析.docx VIP
- 乡镇畜牧站动物检疫员招聘面试经典题及答案.docx VIP
- 2026年哈尔滨中考历史备考全攻略 (知识点归纳,必考知识点 真题模拟试卷及解析).docx VIP
- (一诊)毕节市2025届高三第一次诊断性考试 语文试卷(含答案解析).docx
- 燃气从业人员安全知识培训.pptx VIP
- 数学史数学史试卷(数学史).doc VIP
- [2025秋期版]国开电大专科《监督学》一平台形成性考核一至四在线形考试题及答案 .pdf
- 2025额定电压1kV及以下钢丝加强芯架空绝缘电缆.docx VIP
原创力文档


文档评论(0)