一、球面坐标变换
单位球所在基准空间,以转轴向北极单位向量记ez,定赤道某处为经度0度,球心向该点单位向量记ex,根据右手系,ey=outer_product(ez, ex)。从球心出发向量v_r指向球面上点P,沿经线向南单位向量记ey_s,沿纬线向东单位向量记ex_s,指向球心的为ez_s=-v_r。设该点的经纬度坐标为(alhpa, beta)。球面变换是求当转移到(alpha_new, beta_new)的P_new处,坐标系从coord(ex_s, ey_s, ez_s)变为coord(ex_s_new, ey_s_new, ez_s_new)的变换矩阵。
记R_x(angle)、R_y(angle)和R_z(angle)分别为坐标系围绕其第一、二、三分量右手系旋转angle角的变换矩阵。当点从P平移到赤道上同经度点P1,球面坐标系变为coord(ex_s_1, ey_s_1, ez_s_1),有关系式:coord(ex_s_1, ey_s_1, ez_s_1) == transform(coord(ex_s, ey_s, ez_s), R_x(beta))。同样,从P_new平移至赤道同经度点P2,球面坐标coord(ex_s_2, ey_s_2, ez_s_2) == transform(coord(ex_s_new, ey_s_new, ez_s_new), R_x(beta_new))。而从P1转至P2,有coord(ex_s_2, ey_s_2, ez_s_2) == transform(coord(ex_s_1, ey_s_1, ez_s_1), R_y(alpha - alpha_new))。从而,coord(ex_s_new, ey_s_new, ez_s_new) == transform(coord(ex_s, ey_s, ez_s), R_x(beta) * R_y(alpha - alpha_new) * R_x(-beta_new))。可见转换和和纬度差有关,始末纬度无关。
简记P,P1,P2,P_new的球面坐标系和基准系分别为:(0),(1),(2),(3),(B),矩阵右乘代表坐标变换,另外的推导方法有:(1) == (0)R_x(beta),(B)R_z(alpha) == (1)C,(B)R_z(alpha_new) == (2)C,(2) == (3)R_x(beta_new),其中C={{0, 1, 0}, {0, 0, -1}, {-1, 0, 0}}。计算结果一致。另外还有别的导出方法,但实质一样,且需要注意的是正交变换是唯一的,因为正交矩阵是可逆的。
分享到:
相关推荐
从而熟悉并实现区间树上的重叠区间查找算法,分析该算法的性能。 具体问题测试用例:尝试构造一个区间树。可依次插入下列区间:[41,49] [38,44] [31,35] [12,20] [19,25] [8,10] 查找重叠区间:“find [37,40]”、...
本资源为BT文件,下载速度快,如果P2P工具... 多路尝试法, 三元查找尝试法, Knuth-Morris-Pratt算法, Boyer-Moore算法, Rabin-Karp算法, 正则匹配, run-length编码, Huffman编码, LZW压缩, 还有Burrows-Wheeler变换。
第二部分,调研图神经网络算法,重点调研 graphsage 算法及其实现原理,并尝试 neo4j 跑出一班结果; 第三部分,图嵌入 graph embedding 算法调研,重点理解 node2vec 等图嵌入算法实现原理; 第四部分,以 PageRank...
ngram 尝试算法 希望下载的人能继续编写下去。可以互相讨论
如果你害怕数学,那么你可以尝试着跳过它,或者你也可以尝试着阅读涉及更少专业技术知识的书籍。但是我已经尽力做到令数学部分变得容易理解了。 我假定你从来没有写过,甚至从来没有读过一个计算机程序。如果你能看...
设计和实现关于内存管理的内存布局初始化及内存申请分配、内存回收等基本功能操作函数,尝试对用256MB的内存空间进行动态分区方式模拟管理。内存分配的基本单位为1KB,同时要求支持至少两种分配策略,并进行测试和对...
线程池 5天不再惧怕多线程——第四天 信号量 5天不再惧怕多线程——第三天 互斥体 5天不再惧怕多线程——第二天 锁机制 5天不再惧怕多线程——第一天 尝试Thread 经典算法专题(21)经典算法题每日演练——第二十一题 ...
数字3对应为蚁群算法,数字2也对应蚁群算法是对前一算法的简化尝试。 数字1对应为遗传算法,采用了8种演化方式,三种杂交,5种变异,是否采用哪一种方式,主要由这种方式带来的突破数决定,突破数越大,采用该方法...
武科大算法设计试卷及答案 ...7、 回溯算法是尝试搜索算法中最为基本的一种算法,其采用了一种( )的思想作为其控制结构 。 8、 用分支限界法解决布线问题时,对问题解空间搜索尝试结束的标志是( )。
Tomas H.Cormen 的算法导论第三版,学习算法,尝试把书里面的算法用c++进行实现,以后可能会尝试写个stl容器类吧。加油,学习的过程.zip
大数据算法在数据分析中发挥着重要的作用,它可以提高分析工作的效率和准确性,为决策提供有力支持。具体来说,大数据算法可以分类、聚类、预测和关联规则分析等,从而发现数据之间的规律和关联关系,挖掘出潜在的...
Boyer-Moore字符串搜索算法。它由Bob Boyer和J Strother Moore设计于1977年。此算法仅对搜索目标字符...它的效率来自于这样的事实:对于每一次失败的匹配尝试,算法都能够使用这些信息来排除尽可能多的无法匹配的位置。
1.3. 第二次尝试 1.4. 算法效率衡量 1.5. 算法分析 1.6. 常见时间复杂度 1.7. Python内置类型性能分析 1.8. 数据结构 2. 顺序表 2.1. 顺序表的形式 2.2. 顺序表的结构与实现 2.3. 顺序表的操作 2.4. Python中的顺序...
为此,构建了面向多发放点的应急救援物资并行分配模型,并设计了基于二维二进制免疫和抗体修正的多发放点多救援物资并行分配算法。实验结果表明,该算法在大规模样本下较串行分配方法更加高效,能够从全局角度同时给...
算法设计与分析 目录 动态规划 贪心算法 状态空间搜索法 分治法 随机算法 模拟算法 递归算法 数论算法 回溯算法 对于有些最优解问题,没有任何的理论也无法采用精确的数学公式来帮助我们找到最优解,我们只能用...
形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。这些尝试包括库尔特·哥德尔、Jacques Herbrand和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出...
Bug2算法总是尝试在主线上移动,该主线则为连接起始点和目标点的直线,如图2所示。 最后,文章对基于Bug0算法的仿真实验进行了介绍。在Matlab中对Bug0算法的进行仿真实验验证,移动机器人在10×10 m的有障碍环境中...
如果机器学习能够自动识别癌细胞,那么它将为医疗系统提供相当大的益处。自动化的过程很有可能提高...从带有异常乳腺肿块的女性身上的活检细胞的测度数据入手,应用 kNN 算法,从而研究机器学习用于检测癌症的功效。
编程实现三步法快速搜索算法,以352×288、8比特/象素的序列图像为实验对象, 得到的预测误差图像DFD,统计DFD的分布