Python根据欧拉角求旋转矩阵的实例

yipeiwu_com6年前Python基础

利用numpy和scipy,我们可以很容易根据欧拉角求出旋转矩阵,这里的旋转轴我们你理解成四元数里面的旋转轴

  import numpy as np
  import scipy.linalg as linalg
  import math
  #参数分别是旋转轴和旋转弧度值
  def rotate_mat(self, axis, radian):
    rot_matrix = linalg.expm(np.cross(np.eye(3), axis / linalg.norm(axis) * radian))

  axis_x, axis_y, axis_z = [1,0,0], [0,1,0], [0, 0, 1]#分别是x,y和z轴,也可以自定义旋转轴
  yaw = 0.7854 #pi/4
  rot_matrix = rotate_mat(axis_z, yaw)#绕Z轴旋转pi/4

求出旋转矩阵后我们可以结合原始坐标, 直接用np.dot求出旋转前后的坐标.

new_coor = np.dot(old_coor, rot_matrix)

以上这篇Python根据欧拉角求旋转矩阵的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详细解析Python当中的数据类型和变量

详细解析Python当中的数据类型和变量

数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同...

Python import用法以及与from...import的区别

在python用import或者from...import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入...

Python正则表达式非贪婪、多行匹配功能示例

本文实例讲述了Python正则表达式非贪婪、多行匹配功能。分享给大家供大家参考,具体如下: 一些regular的tips: 1 非贪婪flag >>> re.fin...

python自定义异常实例详解

python自定义异常实例详解          本文通过两种方法对Python 自定义异常进行讲解,第一...

Python引用类型和值类型的区别与使用解析

Python数据类型分为值类型和引用类型, 下面我们看下它们的区别: 值类型: 对象本身不允许修改,数值的修改实际上是让变量指向了一个新的对象 包含:字符串、元组、数值,本身不允许被修改...