【图像处理】一种求三维空间中两单位向量之间旋转矩阵的方法

原创 2016年06月02日 00:31:00

矩阵相乘有多种含义,比如:从一种坐标系切换到另外的坐标系;空间中的运动。其中旋转矩阵相乘会改变物体的旋转角度,但不会改变物体形状和位置。单位向量可以看做一维物体,单位向量实际只有一个坐标轴,垂直于该坐标轴的其他两个坐标轴,无论怎么修改,对该单位向量并没有影响。现在我们已知两个单位向量,要求解一个向量va到另外一个向量vb的旋转矩阵,本质上可以理解为从前者对应的坐标系切换到后者对应的坐标系,与向量坐标轴相互垂直的两个坐标轴,只要满足垂直的要求即可,因为向量在垂直于向量方向上的旋转没有意义
为了方便求解,我先考虑从[1,0,0]向量转换到va向量的旋转矩阵。显然[1,0,0]向量对应的是x轴,旋转到va向量等价于将x轴变换到va向量的坐标轴,那么新坐标系的x轴就是va,令新坐标系的x轴为va1=va。接下来我们要求得垂直于va的单位向量,那么应用叉乘计算可以得到

va2=va1×[1,0,0])va3=va1×va2va2va1,va3va1,va2va3
将va2和va3都归一化,就得到了一个新坐标系,也可以说是旋转矩阵
RotateMatrixA=[va1Tva2Tva3T]RotateMatrixA100=vaT
用同样的方法获得[1,0,0]到vb的旋转矩阵RotateMatrixB,那么从va到vb的旋转矩阵为:
RotateMatrixBRotateMatrixA1vaT=vbTRotateMatrix=RotateMatrixBRotateMatrixA1

其中需要2+2=4次叉乘,2+2=4次向量归一化,1次矩阵求逆和1次矩阵乘法才能获得旋转矩阵。这是一个笨办法,但是对数学苦手要友好的多。

版权声明:本文为博主原创文章,未经博主允许不得转载。

刚体在三维空间的旋转(关于旋转矩阵、DCM、旋转向量、四元数、欧拉角)

三维空间的旋转(3D Rotation)是一个很神奇的东东:如果对某个刚体在三维空间进行任意次的旋转,只要旋转中心保持不变,无论多少次的旋转都可以合为绕三维空间中某一个轴的一次旋转来表示。表示三维空间...
  • MulinB
  • MulinB
  • 2016年04月24日 00:02
  • 19169

旋转向量和旋转矩阵的互转换

处理矩阵三维转换时,通常采用旋转矩阵,但是旋转变换其实只有三个自由度,用旋转向量表达时更为简洁。因此,需要实现从旋转向量和旋转矩阵之间的互转换。 旋转向量和旋转矩阵之间可以通过罗德里格斯公式进行转换...
  • u013341645
  • u013341645
  • 2017年08月29日 20:15
  • 365

三维空间中的旋转--旋转向量

处理三维旋转问题时,通常采用旋转矩阵的方式来描述。一个向量乘以旋转矩阵等价于向量以某种方式进行旋转。除了采用旋转矩阵描述外,还可以用旋转向量来描述旋转,旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧...
  • wu_wenhuan
  • wu_wenhuan
  • 2016年09月19日 20:17
  • 2381

根据旋转前后的向量值求旋转矩阵

如果已知旋转前后的一向量的变化,那么该如何求这个旋转矩阵呢?本篇结合Rodrigues' rotation formula,介绍一下该旋转矩阵的求法。 1.旋转角度 已知旋转前向量为P, ...
  • u012274990
  • u012274990
  • 2013年10月08日 20:12
  • 1612

图像旋转算法原理-- 旋转矩阵

图1     图2       图3      图4      图5      图6     图7     图8...
  • liyuan02
  • liyuan02
  • 2011年09月05日 19:49
  • 19543

图像处理---关于像素坐标矩阵变换(平移,旋转,缩放,错切)

介绍 坐标变换矩阵是一个3*3的矩阵,用来对图形进行坐标变化,将原来的坐标点转移到新的坐标点,因为一个图片是有点阵和每一点上的颜色信息组成的,所以对坐标的变换,就是对每一点进行搬移形成新的图片。具体的...
  • Jarlen
  • Jarlen
  • 2015年04月04日 23:02
  • 10277

图像处理之图像基本变化(平移、缩放、旋转)(Octave实现)

在模式识别及计算机视觉中,要经常进行图像的变化。例如:在识别手写数字中,我们可能在广泛应用中要求所有的图片都是20*20这么好的规格。所以,我们就需要进行缩放来达到目的。今天来总结下学到的图像的基本变...
  • qq_24894159
  • qq_24894159
  • 2016年11月27日 00:05
  • 1272

3d数学基础-旋转矩阵-C++代码实现

#include #include #include const float kPi = 3.1415926f; const float k2Pi = kPi*2.0f; const flo...
  • yujingbo1023
  • yujingbo1023
  • 2015年05月27日 20:57
  • 1458

两个坐标系之间变换矩阵的实现

主要分析从局部坐标系变换到全局坐标系下的坐标转换公式。首先对全局坐标系进行描述,如图1,o-xyz即全局坐标系,O’-X’Y’Z’即在o-xyz坐标系中定义的局部坐标系,两个坐标系之间的关系如下:这个...
  • u012501459
  • u012501459
  • 2014年12月04日 10:15
  • 14882

旋转变换的指数形式

看一篇英文文献,里面用到了一个绕空间三个坐标轴旋转的矩阵,原文说using the exponential representation for rotations,并直接给出了下面的公式 Ri=e...
  • glorydream2015
  • glorydream2015
  • 2015年03月05日 20:46
  • 1504
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【图像处理】一种求三维空间中两单位向量之间旋转矩阵的方法
举报原因:
原因补充:

(最多只允许输入30个字)