python歐拉角和旋轉(zhuǎn)矩陣變換的實現(xiàn)示例
更新時間:2024年03月19日 10:38:43 作者:霸王?呂布
在計算機圖形學中,歐拉角和旋轉(zhuǎn)矩陣是描述物體旋轉(zhuǎn)的常用方法,本文主要介紹了python歐拉角和旋轉(zhuǎn)矩陣變換的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
一. 配置PIP鏡像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
二.下載numpy等庫
pip install scipy
三.歐拉角轉(zhuǎn)旋轉(zhuǎn)矩陣(右手坐標系, ZXY順序)
# coding=UTF-8 from scipy.spatial.transform import Rotation as R # 定義歐拉角 XYZ順序 euler_angles = [90, 3, 3] if (90 - abs(euler_angles[0])) < 0.5: euler_angles[0] = 89.5 euler_angles_zxy = [0, 0, 0] euler_angles_zxy[0] = euler_angles[2] euler_angles_zxy[1] = euler_angles[0] euler_angles_zxy[2] = euler_angles[1] euler_angles_zxy = [-x for x in euler_angles_zxy] # 創(chuàng)建Rotation對象 r = R.from_euler('zxy', euler_angles_zxy, degrees=True) # 獲取旋轉(zhuǎn)矩陣 rotation_matrix = r.as_dcm() print('[') for row in rotation_matrix: msg = ", ".join(map(str, row)) msg = '[' + msg + '],' print(msg) print(']')
四.旋轉(zhuǎn)矩陣轉(zhuǎn)歐拉角(右手坐標系, ZXY順序)
# coding=UTF-8 import numpy as np from scipy.spatial.transform import Rotation as R # 假設(shè)我們有一個旋轉(zhuǎn)矩陣 #80 -7 45 rotation_matrix = np.array([ [0.9945219996629926, 0.10452647320585942, -0.00045671157999537665], [-0.00045671157999537665, 0.008714576084760173, 0.9999619230641713], [0.10452647320585942, -0.9944839227271639, 0.008714576084760173] ]) # 使用SciPy的Rotation對象轉(zhuǎn)換歐拉角 rotation = R.from_dcm(rotation_matrix) euler_angles_zxy = rotation.as_euler('zxy', degrees=True) # sco存儲使用'zxy'順序,如果需要度為單位,設(shè)置degrees=True #左右手參考坐標系正負值替換 euler_angles_zxy = [-x for x in euler_angles_zxy] euler_angles = [0, 0, 0] euler_angles[0] = euler_angles_zxy[1] euler_angles[1] = euler_angles_zxy[2] euler_angles[2] = euler_angles_zxy[0] print(euler_angles)
到此這篇關(guān)于python歐拉角和旋轉(zhuǎn)矩陣變換的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)python歐拉角和旋轉(zhuǎn)矩陣變換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
PyCharm 安裝與使用配置教程(windows,mac通用)
很多小伙伴下載安裝PyCharm后不會使用,這篇文章詳細介紹了PyCharm安裝與使用教程(windows,mac通用),需要的朋友可以參考下2021-05-05Pycharm使用之設(shè)置代碼字體大小和顏色主題的教程
今天小編就為大家分享一篇Pycharm使用之設(shè)置代碼字體大小和顏色主題的教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python獲取昨天、今天、明天開始、結(jié)束時間戳的方法
今天小編就為大家分享一篇Python獲取昨天、今天、明天開始、結(jié)束時間戳的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python科學計算環(huán)境推薦——Anaconda
最近在用Python做中文自然語言處理。使用的IDE是PyCharm。PyCharm確實是Python開發(fā)之首選,但用于科學計算方面,還略有欠缺。為此我嘗試過Enthought Canopy,但Canopy感覺把問題搞得復雜化,管理Python擴展也不太方便。直到今天我發(fā)現(xiàn)了 Anaconda 。2014-06-06使用selenium模擬動態(tài)登錄百度頁面的實現(xiàn)
本文主要介紹了使用selenium模擬動態(tài)登錄百度頁面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05python os模塊在系統(tǒng)管理中的應(yīng)用
這篇文章主要介紹了python os模塊在系統(tǒng)管理中的應(yīng)用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06