当前位置: 首页 > news >正文

西安建筑公司网站建设抖音seo

西安建筑公司网站建设,抖音seo,微信网站有什么作用,左权网站建设文章目录1. 转换矩阵、平移矩阵、旋转矩阵之间的关系2. 缩放变换、平移变换和旋转变换2. python实现旋转矩阵、四元数、欧拉角互相转化由于在平时总是或多或少的遇到平移旋转的问题,每次都是现查资料,然后查了忘,忘了继续查,这次弄…

文章目录

  • 1. 转换矩阵、平移矩阵、旋转矩阵之间的关系
  • 2. 缩放变换、平移变换和旋转变换
  • 2. python实现旋转矩阵、四元数、欧拉角互相转化

由于在平时总是或多或少的遇到平移旋转的问题,每次都是现查资料,然后查了忘,忘了继续查,这次弄明白之后干脆写一篇文章,给人方便同时于己方便,后续如有扩充或变动也方便添加。

1. 转换矩阵、平移矩阵、旋转矩阵之间的关系

假设有两个向量a1=(x1,y1,z1)a_1 = (x_1, y_1, z_1)a1=(x1,y1,z1)a2=(x2,y2,z2)a_2 = (x_2, y_2, z_2)a2=(x2,y2,z2),它们的转换关系为:

a1=R∗a2+Ta_1 = R * a_2 + T a1=Ra2+T
这里RRR就是它的旋转矩阵TTT就是它的平移矩阵。使用齐次方式表示如下:

(a11)=(RT01)∗(a21)\begin{pmatrix} a_1\\ 1 \end{pmatrix}= \begin{pmatrix} R&T\\ 0&1 \end{pmatrix}* \begin{pmatrix} a_2\\1 \end{pmatrix} (a11)=(R0T1)(a21)
使用元素值替换后,表示如下:
(x1y1z11)=(r11r12r13t1r21r22r23t2r31r32r33t30001)∗(x2y3z21)\begin{pmatrix} x_1\\y_1\\z_1\\1 \end{pmatrix}= \begin{pmatrix} r_{11}&r_{12}&r_{13}&t_{1}\\ r_{21}&r_{22}&r_{23}&t_{2}\\ r_{31}&r_{32}&r_{33}&t_{3}\\ 0&0&0&1 \end{pmatrix}* \begin{pmatrix} x_2\\y_3\\z_2\\1 \end{pmatrix} x1y1z11=r11r21r310r12r22r320r13r23r330t1t2t31x2y3z21
在仿射变换中的转换矩阵表示先线性变换再平移。在这里转换矩阵表示如下:
转换矩阵=(r11r12r13t1r21r22r23t2r31r32r33t30001)转换矩阵= \begin{pmatrix} r_{11}&r_{12}&r_{13}&t_{1}\\ r_{21}&r_{22}&r_{23}&t_{2}\\ r_{31}&r_{32}&r_{33}&t_{3}\\ 0&0&0&1 \end{pmatrix} 转换矩阵=r11r21r310r12r22r320r13r23r330t1t2t31
平移矩阵表示如下:
平移矩阵T=(t1t2t3)平移矩阵T=\begin{pmatrix} t_{1}\\ t_{2}\\ t_{3}\\ \end{pmatrix} 平移矩阵T=t1t2t3
旋转矩阵表示如下:
旋转矩阵R=(r11r12r13r21r22r23r31r32r33)旋转矩阵R=\begin{pmatrix} r_{11}&r_{12}&r_{13}\\ r_{21}&r_{22}&r_{23}\\ r_{31}&r_{32}&r_{33} \end{pmatrix} 旋转矩阵R=r11r21r31r12r22r32r13r23r33

2. 缩放变换、平移变换和旋转变换

如果理解以上知识点之后,缩放变换、平移变换和旋转变换的特殊情况也迎刃而解。

  • 缩放变换

缩放变换只是在尺度上进行改变,所以它的变换形式如下:

在这里插入图片描述

  • 平移变换

平移变换的时候,角度不发生改变,也就是旋转矩阵R为单位矩阵,所以它的变换形式如下:

在这里插入图片描述

  • 旋转变换

当空间内的物体绕着 x 轴,y 轴或者 z 轴旋转的时候,变换矩阵为:

在这里插入图片描述
对于一般性的旋转问题,可以用简单的旋转描述复杂的旋转。用 x 轴,y 轴和 z 轴上的旋转来定义旋转:

在这里插入图片描述
这三个角就被称作欧拉角(Euler angles)。

  • 一目了然
  • 这个也不错

2. python实现旋转矩阵、四元数、欧拉角互相转化

在应用中,我们往往会遇到旋转矩阵、四元数和欧拉角之间的互相转换,在这里,我们只使用python代码来实现它们之间互相转换。

from scipy.spatial.transform import Rotation as Rdef quaternion2euler(quaternion):r = R.from_quat(quaternion)euler = r.as_euler('xyz', degrees=True)return eulerdef euler2quaternion(euler):r = R.from_euler('xyz', euler, degrees=True)quaternion = r.as_quat()return quaterniondef euler2rotation(euler):r = R.from_euler('xyz', euler, degrees=True)rotation_matrix = r.as_matrix()return rotation_matrixdef quaternion2rotation_matrix(quaternion):r = R.from_quat(quaternion)rotation_matrix = r.as_matrix()return rotation_matrixdef rotation_matrix2euler(rotation_matrix):r = R.from_matrix(rotation_matrix)euler = r.as_euler('xyz', degrees=True)return eulerdef rotation_matrix2quaternion(rotation_matrix):r = R.from_matrix(rotation_matrix)quaternion = r.as_quat()return quaternionif __name__ == '__main__':# 四元数=>欧拉角quaternion = [0.71934025092983234, -1.876085535681999e-06, -3.274841213980097e-08, -0.69465790385533299]euler = quaternion2euler(quaternion) # [-9.20000743e+01  1.52039496e-04 -1.52039496e-04]print(f'euler: {euler}')# 四元数=>旋转矩阵rotation_matrix = quaternion2rotation_matrix(quaternion)print(f'rotation_matrix: {rotation_matrix}')# 欧拉角=>四元数quaternion = euler2quaternion(euler)print(f'quaternion: {quaternion}') # [-7.19340251e-01  1.87608554e-06  3.27484122e-08  6.94657904e-01]# 欧拉角=>旋转矩阵rotation_matrix = euler2rotation(euler)print(f'rotation_matrix: {rotation_matrix}')# 旋转矩阵=>欧拉角euler = rotation_matrix2euler(rotation_matrix)print(f'euler: {euler}')# 旋转矩阵=>四元数quaternion = rotation_matrix2quaternion(rotation_matrix)print(f'quaternion: {quaternion}')
http://www.mmbaike.com/news/106284.html

相关文章:

  • 51个人网站怎么打开综合搜索引擎
  • 江西省农村公路建设举报网站北京seoqq群
  • 新余市建设局网站电商运营是做什么的
  • 手机网站返回按钮怎么做镇江市网站
  • 网站服务器管理维护今日头条(官方版本)
  • 海南网络推广公司冬镜seo
  • 辽宁省建设工程信息网锁丢失来宾seo
  • 深圳做自适应网站制作免费二级域名注册网站有哪些
  • 响应式设计网站网站建设方案内容
  • 做网站还需要搜狗吗宁波seo关键词优化报价
  • 网站改成html5企业网站制作公司
  • 12316网站建设方案微商营销
  • 响应式网站建设网站网易游戏推广代理加盟
  • 哪里有做营销型网站的公司公司网站推广技巧
  • 做7寸照片的网站网络营销课程介绍
  • 免费企业网站建设要求在线外链发布工具
  • 手机网站开发+图库类网站怎么做推广
  • 做书app下载网站有哪些免费友情链接网站
  • 简单三栏网站手机cpu性能增强软件
  • 建筑标准下载网站网络推广网络营销和网站推广的区别
  • 静态网站挂马百度推广怎么做最好
  • 轻量应用服务器可以做网站吗英文站友情链接去哪里查
  • wordpress建站教程主题百度一下首页网页百度
  • 国内扁平化网站百度seo搜搜
  • 想要去网站做友情链接怎么发邮件营销推广的特点
  • 做外卖有哪些网站有哪些百度帐号登录
  • 网站涉及敏感视频等该怎么做seo服务 文库
  • 广州建筑集团网站seo成创网络
  • 大型网站 空间网络广告投放网站
  • 学院管理网站建设谷歌搜索优化