博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三维矩阵旋转、平移的左乘与右乘分析
阅读量:2383 次
发布时间:2019-05-10

本文共 818 字,大约阅读时间需要 2 分钟。

三维矩阵旋转、平移的左乘与右乘分析

在矩阵的初等变换中,矩阵的左乘代表着行变换,TA=B。

矩阵的右乘相当于列变换, AT=C。

当三维坐标发生旋转、平移时,就需要考虑到矩阵是左乘还是右乘。

设有旋转矩阵R,平移矩阵T, 坐标矩阵A。

-若是绕着静态的世界坐标系旋转,有RA,即左乘旋转矩阵

- 若是绕着动态的自身坐标系旋转,有A’R’, 即右乘旋转矩阵
- 若是进行平移,则有TA,即左乘平移矩阵, A’T’为右乘平移矩阵

在使用中,我们通常对三维点(云)的旋转与平移进行左乘。

而旋转矩阵在左乘时设逆时针为正。
以下是常用的旋转矩阵。

绕X轴旋转

绕Y轴旋转

绕Z轴旋转

有列向量A=[x,y,z];

则 RA 就是对 A 进行旋转。注意这里 A 是列向量,因为是在对A的每行的元素进行变换。
若要写成右乘形式,则有(RA)’=A’R’,此时R’变为右乘的旋转矩阵,A’为行向量,对A’的每一列元素进行变换。

对于平移有平移矩阵T=

I0u1

其中 u 为平移向量(x,y,z); I 为3X3的单位矩阵。

设有 列向量B,则对B进行平移为 TB,左乘形式。
右乘形式为 B’T’

旋转与平移的过程

设有 3x3旋转矩阵R, 平移列向量u,平移矩阵T 为上述表达形式, 坐标列向量A

以下过程用常见的左乘形式
1 先旋转再平移
RA+u = [ R , u ; 0 1]* [A , 1 ]
也可以写成 T*R*A 的形式, A为齐次坐标的形式

2 先平移再旋转

R(A+u)=RA+Ru;
也可以写成 R*T*A

若要将上述过程写成右乘的形式,则要全部进行转置

---------------------  
作者:miaomiaoyuan  
来源:CSDN  
原文:https://blog.csdn.net/miaomiaoyuan/article/details/54973363  
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的文章
HBase Java API(1.2.X)使用简介
查看>>
Java:实现比较接口时,应该全面的进行各种情况的比较
查看>>
python3.*下用mob_pbxproj自动化修改配置
查看>>
使用fir打包,测试跳转安装的坑
查看>>
版本号大小判断,适用规则(X.X.X.X........)
查看>>
关于Objective-C方法签名规则的说明
查看>>
libxml2.dylb 添加后找不到<libxml/tree.h> 头文件
查看>>
关于 [[self class] alloc]的理解
查看>>
Eclipse导入Web项目后代码不报错但项目报错(左上角有红叉)解决方案
查看>>
List、Set、数据结构、Collections
查看>>
Sudoku Solver
查看>>
Combination Sum
查看>>
First Missing Positive
查看>>
Trapping Rain Water
查看>>
Permutation Sequence
查看>>
Valid Number
查看>>
Text Justification
查看>>
Simplify Path
查看>>
Add Two Numbers
查看>>
Longest Substring Without Repeating Characters
查看>>