Cesium中的相机—方向余弦阵

2024-06-12 09:18
文章标签 方向 相机 cesium 余弦

本文主要是介绍Cesium中的相机—方向余弦阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面在讨论两个不同坐标系之间的转换时都是通过欧拉旋转或者四元素来定义的。今天直接给出方向余弦阵的定义和用途。

方向余弦的定义

方向余弦是指在解析几何里,一个向量的三个方向余弦分别是这向量与三个坐标轴之间的角度的余弦。
如下图中,矢量A与坐标系三个轴 i , j , k i,j,k i,j,k的夹角为 α , β , γ \alpha,\beta,\gamma α,β,γ,则矢量A的方向余弦就是:
[ cos ⁡ ( α ) , cos ⁡ ( β ) , cos ⁡ ( γ ) ] [\cos(\alpha),\cos(\beta),\cos(\gamma)] [cos(α),cos(β),cos(γ)]
方向余弦

方向余弦矩阵

方向余弦矩阵是由两组不同的标准正交基的基底向量之间的方向余弦所形成的矩阵。方向余弦矩阵可以用来表达一组标准正交基与另一组标准正交基之间的关系。
使用 i b , j b , k b i_b,j_b,k_b ib,jb,kb表示直角坐标系 o x b y b z b ( b 系 ) ox_by_bz_b(b系) oxbybzb(b)的三个坐标轴的基向量,用 i i , j i , k i i_i,j_i,k_i ii,ji,ki表示直角坐标系 o x i y i z i ( i 系 ) ox_iy_iz_i(i系) oxiyizi(i)的三个坐标轴的基向量,则 i b , j b , k b i_b,j_b,k_b ib,jb,kb(单位向量)分别可用 i i , j i , k i i_i,j_i,k_i ii,ji,ki表示:
{ i b = ( i b ⋅ i i ) i i + ( i b ⋅ j i ) j i + ( i b ⋅ k i ) k i j b = ( j b ⋅ i i ) i i + ( j b ⋅ j i ) j i + ( j b ⋅ k i ) k i k b = ( k b ⋅ i i ) i i + ( k b ⋅ j i ) j i + ( k b ⋅ k i ) k i ( 1 ) \left\{\begin{matrix} i_b=(i_b\cdot i_i)i_i+(i_b\cdot j_i)j_i+(i_b\cdot k_i)k_i\\ j_b=(j_b\cdot i_i)i_i+(j_b\cdot j_i)j_i+(j_b\cdot k_i)k_i\\ k_b=(k_b\cdot i_i)i_i+(k_b\cdot j_i)j_i+(k_b\cdot k_i)k_i\\ \end{matrix}\right. \qquad(1) ib=(ibii)ii+(ibji)ji+(ibki)kijb=(jbii)ii+(jbji)ji+(jbki)kikb=(kbii)ii+(kbji)ji+(kbki)ki(1)
上式中,
[ ( i b ⋅ i i ) , ( i b ⋅ j i ) , ( i b ⋅ k i ) ] [(i_b\cdot i_i),(i_b\cdot j_i),(i_b\cdot k_i)] [(ibii),(ibji),(ibki)]为单位矢量 i b i_b ib 在坐标系 o x i y i z i ox_iy_iz_i oxiyizi的方向余弦;
[ ( j b ⋅ i i ) , ( j b ⋅ j i ) , ( j b ⋅ k i ) ] [(j_b\cdot i_i),(j_b\cdot j_i),(j_b\cdot k_i)] [(jbii),(jbji),(jbki)]为单位矢量 j b j_b jb 在坐标系 o x i y i z i ox_iy_iz_i oxiyizi的方向余弦;
[ ( k b ⋅ i i ) , ( k b ⋅ j i ) , ( k b ⋅ k i ) ] [(k_b\cdot i_i),(k_b\cdot j_i),(k_b\cdot k_i)] [(kbii),(kbji),(kbki)]为单位矢量 k b k_b kb 在坐标系 o x i y i z i ox_iy_iz_i oxiyizi 的方向余弦。

i b , j b , k b i_b,j_b,k_b ib,jb,kb分别在坐标系 o x i y i z i ox_iy_iz_i oxiyizi的方向余弦组成矩阵 M M M(注意,按列组成):
M = [ i b ⋅ i i j b ⋅ i i k b ⋅ i i i b ⋅ j i j b ⋅ j i k b ⋅ j i i b ⋅ k i j b ⋅ k i k b ⋅ k i ] ( 2 ) M=\begin{bmatrix} i_b\cdot i_i &j_b\cdot i_i &k_b\cdot i_i\\ i_b\cdot j_i &j_b\cdot j_i &k_b\cdot j_i\\ i_b\cdot k_i &j_b\cdot k_i &k_b\cdot k_i \end{bmatrix} \qquad(2) M=ibiiibjiibkijbiijbjijbkikbiikbjikbki(2)
则矩阵 M M M即为b系到i系的坐标变换矩阵(推导过程略)。

假设点P在b系中的坐标为 [ x b , y b , z b ] T \begin{bmatrix} x_b,y_b,z_b\end{bmatrix}^{T} [xb,yb,zb]T,在i系中的坐标为 [ x i , y i , z i ] T \begin{bmatrix} x_i,y_i,z_i\end{bmatrix}^{T} [xi,yi,zi]T,则两者通过坐标旋转矩阵 M M M联系:
[ x i y i z i ] = M ⋅ [ x b y b z b ] ( 3 ) \begin{bmatrix} x_i\\y_i \\z_i \end{bmatrix}= M\cdot\begin{bmatrix} x_b \\y_b \\z_b \end{bmatrix} \qquad(3) xiyizi=Mxbybzb(3)

方向余弦的应用

之前我们通过欧拉旋转或者四元素的方式得到两个坐标系之间的坐标变换矩阵 M M M,而现在我们多了一种方法得到 M M M

假设上式中, i i i系为原始坐标系, b b b系为相机坐标系,那么我只要知道了相机坐标系(b系)的三个坐标轴的基向量 i b , j b , k b i_b,j_b,k_b ib,jb,kb i i i系中的坐标(方向余弦,式1),就可以得到坐标变换矩阵 M M M(式2)。实际上只要知道两个基向量即可,剩下的用前两个基向量叉乘即可。

这篇关于Cesium中的相机—方向余弦阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053808

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多

海鸥相机存储卡格式化如何恢复数据

在摄影的世界里,‌每一张照片都承载着独特的记忆与故事。‌然而,‌当我们不慎将海鸥相机的存储卡格式化后,‌那些珍贵的瞬间似乎瞬间消逝,‌让人心急如焚。‌但请不要绝望,‌数据恢复并非遥不可及。‌本文将详细介绍在海鸥相机存储卡格式化后,‌如何高效地恢复丢失的数据,‌帮助您重新找回那些宝贵的记忆。‌ 图片来源于网络,如有侵权请告知 一、‌回忆备份情况 ‌海鸥相机存储卡格式化如何恢复数据?在意

我成功在本地打开了Cesium啦!

1首先下载Node.js,我是跟着这篇下载的,https://zhuanlan.zhihu.com/p/77594251,不过这后面的我没弄对Cesium环境配置也没影响。 另外:我看其他推文说,在终端写node -v和npm-v查node和npm的版本可以检测node和npm是否下载成功。 2然后我在CesiumB站官号看的教学视频,跟着下载Cesium源代码。 Cesium基础入门1-零

机器视觉硬件选型根据某项目相机镜头

一 项目总需求 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; ③工作距离:880mm;检测精度:500μm; 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; 工作距离:

[SWPUCTF 2021 新生赛]web方向(一到六题) 解题思路,实操解析,解题软件使用,解题方法教程

题目来源 NSSCTF | 在线CTF平台因为热爱,所以长远!NSSCTF平台秉承着开放、自由、共享的精神,欢迎每一个CTFer使用。https://www.nssctf.cn/problem   [SWPUCTF 2021 新生赛]gift_F12 这个题目简单打开后是一个网页  我们一般按F12或者是右键查看源代码。接着我们点击ctrl+f后快速查找,根据题目给的格式我们搜索c

005:VTK世界坐标系中的相机和物体

VTK医学图像处理---世界坐标系中的相机和物体 左侧是成像结果                                                    右侧是世界坐标系中的相机与被观察物体 目录 VTK医学图像处理---世界坐标系中的相机和物体 简介 1 在三维空间中添加坐标系 2 世界坐标系中的相机 3 世界坐标系中vtkImageData的参数 总结:

无人机执照拿到后怎么就业?方向有哪些?就业率如何?

无人机执照拿到后,就业方向广泛且多样,就业率也呈现出逐年上升的趋势。这主要得益于无人机技术的广泛应用和无人机市场的不断扩大。以下是对无人机执照持有者就业情况的详细分析: 就业方向 1. 无人机飞行操作: 无人机飞手可以从事无人机的起飞、飞行和降落等具体操作,满足不同行业对无人机飞行的需求。 应用领域包括但不限于农业植保、电力巡线、石油管道巡线、航拍、国土资源勘查、应急救援、交通监控

UVA10010(八方向暴力枚举)

Where's Waldorf? Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu 题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18656 Description Where's Waldo