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实现平行坐标图的绘制(plotly)方式

Python实现平行坐标图的绘制(plotly)方式

平行坐标图简介 当数据的维度超过三维时,此时数据的可视化就变得不再那么简单。为解决高维数据的可视化问题,我们可以使用平行坐标图。以下关于平行坐标图的解释引自百度百科:为了克服传统的笛卡尔...

Python基于分水岭算法解决走迷宫游戏示例

本文实例讲述了Python基于分水岭算法解决走迷宫游戏。分享给大家供大家参考,具体如下: #Solving maze with morphological transformatio...

Python列表推导式的使用方法

1.列表推导式书写形式:   [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 2.举例说明:...

python 判断矩阵中每行非零个数的方法

如下所示: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @F...

Python读写ini文件的方法

本文实例讲述了Python读写ini文件的方法。分享给大家供大家参考。具体如下: 比如有一个文件update.ini,里面有这些内容: [ZIP] EngineVersion=0 D...