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

yipeiwu_com7年前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设计】。

相关文章

通过Pandas读取大文件的实例

当数据文件过大时,由于计算机内存有限,需要对大文件进行分块读取: import pandas as pd f = open('E:/学习相关/Python/数据样例/用户侧数据/te...

Django csrf 两种方法设置form的实例

第一种方法,在视图函数上边添加一条语句 @csrf_exempt 例子: @csrf_exempt def login(request): return render_to_...

python pdb调试方法分享

复制代码 代码如下:import pdbdef pdb_test(arg):    for i in range(arg):  &nbs...

Pycharm使用之设置代码字体大小和颜色主题的教程

Pycharm使用之设置代码字体大小和颜色主题的教程

1. File->Setting  打开如下所示的对话框,可以在Editor->General->Font下设置字体大小(Size)、行距(Line spac...

Python socket模块方法实现详解

这篇文章主要介绍了Python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不...