博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
绕任意单位轴旋转矩阵计算
阅读量:4315 次
发布时间:2019-06-06

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

 

 

在三维变换中,经常要用到旋转变换,而且很多变换是围绕任意轴的。那么下面就介绍绕任意单位轴旋转的两种方法。

假设要旋转的角度是a,围绕的轴是r。

 

方法一:

(1)构建新的基

寻找另外两条单位长度的坐标轴s、t,他们相互垂直,而且与r垂直。这样r、s、t组成了一组新基。

具体求s的方法:

找到r中的最小分量,将其设置为0.然后交换其他两个分量,接着将第一个非零的分量取反(实际上也可以对另外一个非零分量取反)。

要求t,只需求r、s的叉积即可。

详细计算公式:

 

这样就确保了r、s、t组成了一组正交单位基。

 

(2)将标准基变换到新的基。

需要通过变换使得r和x轴重合,这样之后的旋转就是绕x轴的普通旋转。另外的两个轴也相互重合。

变换矩阵由上面的r、s、t向量组成:

 

(3)旋转

因为r与x重合,在新的基中我们只需围绕x轴进行旋转(正常情况下的旋转)即可。

假设旋转矩阵是Rx(a)。

 

(4)变换回到原来的标准基。

变换矩阵应该是M的逆矩阵,由于M是正交的,因此其逆矩阵就是其转置矩阵。

 

因此,最终的绕任意单位轴的变换矩阵是:

 

方法二

根据Goldman给出的公式进行计算,这个公式有点复杂:

 

具体推导过程可以参考:

 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!

转载于:https://www.cnblogs.com/skiwnchiwns/p/10343881.html

你可能感兴趣的文章
WebServicer接口类生成方法。
查看>>
POJ 1740
查看>>
【翻译】火影忍者鸣人 疾风传 终级风暴2 制作介绍
查看>>
http和webservice
查看>>
hdu1879------------prim算法模板
查看>>
jdbc之二:DAO模式
查看>>
MySQL性能优化方法一:缓存参数优化
查看>>
Angular2 - 概述
查看>>
正则表达式tab表示\t
查看>>
NodeJS+Express+MongoDB 简单实现数据录入及回显展示【Study笔记】
查看>>
Highcharts使用指南
查看>>
网络基础(子网划分)
查看>>
Google C++ Style
查看>>
MyBatis总结八:缓存介绍(一级缓存,二级缓存)
查看>>
div+css教程网站建设门户网站和电子商务网站CSS样式表
查看>>
[LeetCode][JavaScript]Candy
查看>>
Mybatis分页插件
查看>>
sk_buff Structure
查看>>
oracle的级联更新、删除
查看>>
多浏览器开发需要注意的问题之一
查看>>