欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實例

 更新時間:2019年12月04日 09:36:08   作者:豌豆生  
今天小編就為大家分享一篇python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

import numpy as np
from autolab_core import RigidTransform

# 寫上用四元數(shù)表示的orientation和xyz表示的position
orientation = {'y': -0.6971278819736084, 'x': -0.716556549511624, 'z': -0.010016582945017661, 'w': 0.02142651612120239}
position = {'y': -0.26022684372145516, 'x': 0.6453529828252734, 'z': 1.179122068068349}

rotation_quaternion = np.asarray([orientation['w'], orientation['x'], orientation['y'], orientation['z']])
translation = np.asarray([position['x'], position['y'], position['z']])
# 這里用的是UC Berkeley的autolab_core,比較方便吧,當(dāng)然可以自己寫一個fuction來計算,計算公式在https://www.cnblogs.com/flyinggod/p/8144100.html
T_qua2rota = RigidTransform(rotation_quaternion, translation)

print(T_qua2rota)
 
# 以下是打印的結(jié)果
Tra: [ 0.64535298 -0.26022684 1.17912207]
   Rot: [[ 0.02782477 0.99949234 -0.01551915]
   [ 0.99863386 -0.02710724 0.0446723 ]
   [ 0.04422894 -0.01674094 -0.99888114]]
   Qtn: [-0.02142652 0.71655655 0.69712788 0.01001658]
   from unassigned to world

自己寫的話

def quaternion_to_rotation_matrix(quat):
  q = quat.copy()
  n = np.dot(q, q)
  if n < np.finfo(q.dtype).eps:
    return np.identity(4)
  q = q * np.sqrt(2.0 / n)
  q = np.outer(q, q)
  rot_matrix = np.array(
    [[1.0 - q[2, 2] - q[3, 3], q[1, 2] + q[3, 0], q[1, 3] - q[2, 0], 0.0],
     [q[1, 2] - q[3, 0], 1.0 - q[1, 1] - q[3, 3], q[2, 3] + q[1, 0], 0.0],
     [q[1, 3] + q[2, 0], q[2, 3] - q[1, 0], 1.0 - q[1, 1] - q[2, 2], 0.0],
     [0.0, 0.0, 0.0, 1.0]],
    dtype=q.dtype)
  return rot_matrix

描述有兩種方式,即XYZABC和XYZ+quaternion:

https://doc.rc-visard.com/latest/de/pose_formats.html?highlight=format

以上這篇python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python語言的優(yōu)勢是什么

    python語言的優(yōu)勢是什么

    這篇文章主要介紹了python語言的優(yōu)勢是什么,從各個方面做了分析,需要的朋友們可以參考下
    2020-06-06
  • python矩陣基本運算的實現(xiàn)

    python矩陣基本運算的實現(xiàn)

    本文主要介紹了python?矩陣的基本運算,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python題解LeetCode303區(qū)域和檢索示例詳解

    python題解LeetCode303區(qū)域和檢索示例詳解

    這篇文章主要為大家介紹了python題解LeetCode303區(qū)域和檢索示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 詳解Python的三種拷貝方式

    詳解Python的三種拷貝方式

    Python中有三種拷貝方式分別是淺拷貝、深拷貝和賦值拷貝,這篇文章通過實例代碼給大家介紹了Python的三種拷貝方式,需要的朋友可以參考下
    2020-02-02
  • 十分鐘教會你用Python處理CSV文件

    十分鐘教會你用Python處理CSV文件

    大家都知道使用csv文件可以較容易地存儲多行且列相同的數(shù)據(jù),便于數(shù)據(jù)的讀取與解析,也常用于自動化測試過程中的數(shù)據(jù)參數(shù)化,下面這篇文章主要給大家介紹了關(guān)于如何利用Python處理CSV文件的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • keras .h5轉(zhuǎn)移動端的.tflite文件實現(xiàn)方式

    keras .h5轉(zhuǎn)移動端的.tflite文件實現(xiàn)方式

    這篇文章主要介紹了keras .h5轉(zhuǎn)移動端的.tflite文件實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python中的eval()函數(shù)使用詳解

    Python中的eval()函數(shù)使用詳解

    這篇文章主要介紹了Python中的eval()函數(shù)使用詳解,eval()函數(shù)是用來執(zhí)行一個字符串表達式,并返回表達式的值,可以把字符串轉(zhuǎn)化為list,dict ,tuple,需要的朋友可以參考下
    2023-12-12
  • Python進階學(xué)習(xí)之你真的懂元組嗎?

    Python進階學(xué)習(xí)之你真的懂元組嗎?

    在我們學(xué)習(xí)python的過程中,對元組的介紹通常是成為”不可變的列表“,但是這其實并沒有完全的概括元組的功能。在本文中,我們將會介紹元組作為記錄的功能,話不多說我們開始吧
    2023-04-04
  • python使用正則表達式去除中文文本多余空格,保留英文之間空格方法詳解

    python使用正則表達式去除中文文本多余空格,保留英文之間空格方法詳解

    這篇文章主要介紹了python使用正則表達式去除中文文本多余空格,保留英文之間空格方法詳解,需要的朋友可以參考下
    2020-02-02
  • python3中的函數(shù)與參數(shù)及空值問題

    python3中的函數(shù)與參數(shù)及空值問題

    這篇文章主要介紹了python3-函數(shù)與參數(shù)以及空值,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11

最新評論