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

相关文章

浅谈Python脚本开头及导包注释自动添加方法

浅谈Python脚本开头及导包注释自动添加方法

1、开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来说明脚本语言是python的 是要...

Python面向对象进阶学习

Python面向对象进阶学习

在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程...

pandas.DataFrame.to_json按行转json的方法

最近需要将csv文件转成DataFrame并以json的形式展示到前台,故需要用到Dataframe的to_json方法 to_json方法默认以列名为键,列内容为值,形成{col1:[...

python实现邮件发送功能

什么是POP3、SMTP和MAP? POP3是Post Office Protocol 3的简称,即邮局协议的第三个版本,他是规定怎样将个人计算机连接到Internet的邮件服务器和下载...

在python中使用with打开多个文件的方法

虽然初恋是java, 可是最近是越来越喜欢python, 所以决定追根溯源好好了解下python的原理,架构等等.小脑袋瓜不太好使,只能记录下慢慢进步吧 使用with打开文件的好处不多说...