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数据可视化:箱线图多种库画法

概念 箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和...

github配置使用指南

1.建立项目,进入项目文件夹 2.初始化ssh key 参见官网指南.(本机生成一对key,public key传到官网sshkey下面) https://help.github.com...

Tensorflow使用支持向量机拟合线性回归

Tensorflow使用支持向量机拟合线性回归

支持向量机可以用来拟合线性回归。 相同的最大间隔(maximum margin)的概念应用到线性回归拟合。代替最大化分割两类目标是,最大化分割包含大部分的数据点(x,y)。我们将用相...

Python函数式编程指南(二):从函数开始

2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: 复制代码 代码如下: def add(x, y):     return x + y...

Python中模块pymysql查询结果后如何获取字段列表

前言 大家在使用pymysql的时候,通过fetchall()或fetchone()可以获得查询结果,但这个返回数据是不包含字段信息的(不如php方便)。查阅pymysql源代码后,其实...