亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

python 和c++實現旋轉矩陣到歐拉角的變換方式

2024-09-09 19:02:59
字體:
來源:轉載
供稿:網友

在攝影測量學科中,國際攝影測量遵循OPK系統,即是xyz轉角系統,而工業中往往使用zyx轉角系統。

旋轉矩陣的意義:描述相對地面的旋轉情況,yaw-pitch-roll對應zyx對應k,p,w

#include <iostream>#include<stdlib.h>#include<eigen3/Eigen/Core>#include<eigen3/Eigen/Dense>#include<stdlib.h>using namespace std;Eigen::Matrix3d rotationVectorToMatrix(Eigen::Vector3d theta){  Eigen::Matrix3d R_x=Eigen::AngleAxisd(theta(0),Eigen::Vector3d(1,0,0)).toRotationMatrix();  Eigen::Matrix3d R_y=Eigen::AngleAxisd(theta(1),Eigen::Vector3d(0,1,0)).toRotationMatrix();  Eigen::Matrix3d R_z=Eigen::AngleAxisd(theta(2),Eigen::Vector3d(0,0,1)).toRotationMatrix();  return R_z*R_y*R_x;}bool isRotationMatirx(Eigen::Matrix3d R){  int err=1e-6;//判斷R是否奇異  Eigen::Matrix3d shouldIdenity;  shouldIdenity=R*R.transpose();  Eigen::Matrix3d I=Eigen::Matrix3d::Identity();  return (shouldIdenity-I).norm()<err?true:false;}int main(int argc, char *argv[]){  Eigen::Matrix3d R;  Eigen::Vector3d theta(rand() % 360 - 180.0, rand() % 360 - 180.0, rand() % 360 - 180.0);  theta=theta*M_PI/180;  cout<<"旋轉向量是:/n"<<theta.transpose()<<endl;  R=rotationVectorToMatrix(theta);  cout<<"旋轉矩陣是:/n"<<R<<endl;  if(! isRotationMatirx(R)){   cout<<"旋轉矩陣--->歐拉角/n"<<R.eulerAngles(2,1,0).transpose()<<endl;//z-y-x順序,與theta順序是x,y,z  }  else{    assert(isRotationMatirx(R));  }  return 0;}

#!/usr/bin/env python3# -*- coding: utf-8 -*-import cv2import numpy as npimport mathimport randomdef isRotationMatrix(R) :  Rt = np.transpose(R)  shouldBeIdentity = np.dot(Rt, R)  I = np.identity(3, dtype = R.dtype)  n = np.linalg.norm(I - shouldBeIdentity)  return n < 1e-6def rotationMatrixToEulerAngles(R) :  assert(isRotationMatrix(R))    sy = math.sqrt(R[0,0] * R[0,0] + R[1,0] * R[1,0])    singular = sy < 1e-6  if not singular :    x = math.atan2(R[2,1] , R[2,2])    y = math.atan2(-R[2,0], sy)    z = math.atan2(R[1,0], R[0,0])  else :    x = math.atan2(-R[1,2], R[1,1])    y = math.atan2(-R[2,0], sy)    z = 0  return np.array([x, y, z])def eulerAnglesToRotationMatrix(theta) :    R_x = np.array([[1,     0,         0          ],          [0,     math.cos(theta[0]), -math.sin(theta[0]) ],          [0,     math.sin(theta[0]), math.cos(theta[0]) ]          ])                    R_y = np.array([[math.cos(theta[1]),  0,   math.sin(theta[1]) ],          [0,           1,   0          ],          [-math.sin(theta[1]),  0,   math.cos(theta[1]) ]          ])          R_z = np.array([[math.cos(theta[2]),  -math.sin(theta[2]),  0],          [math.sin(theta[2]),  math.cos(theta[2]),   0],          [0,           0,           1]          ])                      R = np.dot(R_z, np.dot( R_y, R_x ))  return Rif __name__ == '__main__' :  e = np.random.rand(3) * math.pi * 2 - math.pi    R = eulerAnglesToRotationMatrix(e)  e1 = rotationMatrixToEulerAngles(R)  R1 = eulerAnglesToRotationMatrix(e1)  print ("/nInput Euler angles :/n{0}".format(e))  print ("/nR :/n{0}".format(R))  print ("/nOutput Euler angles :/n{0}".format(e1))  print ("/nR1 :/n{0}".format(R1))
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲人成网站在线观看| 精品magnet| 国产91在线播放精品91| 激情久久av一区av二区av三区| 国产精品高潮呻吟视频| 中文字幕精品在线| 国产日韩欧美视频在线| 亚洲欧美激情视频| 一本久久综合亚洲鲁鲁| 日本欧美一二三区| 国产91免费观看| 国产乱肥老妇国产一区二| 亚洲r级在线观看| 91成人在线观看国产| 欧美日韩国产区| 一本一本久久a久久精品综合小说| 国产精品第一第二| 久久久久久国产精品三级玉女聊斋| 国产精自产拍久久久久久蜜| 亚洲美女性生活视频| 日韩国产精品一区| 亚洲精品国产精品国自产观看浪潮| 国产精品老女人视频| 成人亲热视频网站| 亚洲最大福利视频| 欧美高清视频在线观看| 日韩免费中文字幕| 亚洲日韩欧美视频一区| 日韩av不卡在线| 国产69精品久久久久久| 欧美大片va欧美在线播放| 国产精品欧美一区二区三区奶水| 欧美高清视频在线播放| 国产精品欧美日韩| 亚洲欧美日韩精品| 欧美日韩国产页| 亚洲男人天堂九九视频| 久久国内精品一国内精品| 国产97在线视频| 91视频88av| 亚洲午夜性刺激影院| 国产偷亚洲偷欧美偷精品| 亚洲色图第三页| 欧美激情在线播放| 少妇久久久久久| 久久6免费高清热精品| 亚洲欧美中文日韩v在线观看| 91色在线视频| 岛国av一区二区三区| 欧美孕妇与黑人孕交| 日韩高清有码在线| 欧美在线免费观看| 国产性猛交xxxx免费看久久| 亚洲一区二区三区毛片| 日韩中文字幕网站| 国产女精品视频网站免费| 成人福利视频在线观看| 欧美色道久久88综合亚洲精品| …久久精品99久久香蕉国产| 青青草国产精品一区二区| 欧美日韩中文字幕在线视频| 日韩成人中文字幕| 国产丝袜精品第一页| 91亚洲精品久久久久久久久久久久| 久久手机免费视频| 国产精品美女主播在线观看纯欲| 最近2019年日本中文免费字幕| 亚洲精品永久免费| 欧美夫妻性生活xx| 欧美日韩福利在线观看| 亚洲性无码av在线| 国产精品一区二区三区成人| 国产91精品久久久久久| 国产精品久久久久7777婷婷| 日韩一区二区三区xxxx| 亚洲免费视频在线观看| xvideos亚洲人网站| 亚洲综合精品一区二区| 国产精品毛片a∨一区二区三区|国| 日本高清久久天堂| 国产精品视频网址| 亚洲精品久久久久| 狠狠久久亚洲欧美专区| 国产精品69精品一区二区三区| 欧美丰满少妇xxxxx| 国内精品久久久久久| 欧美黑人国产人伦爽爽爽| 欧美午夜精品久久久久久久| 久久久精品一区二区三区| 91精品久久久久久久久中文字幕| 久久久久999| 国产精品欧美在线| 亚洲在线视频福利| 97久久超碰福利国产精品…| 欧美福利视频网站| 精品成人在线视频| 国产有码一区二区| 国产综合久久久久| 国产精品爽黄69天堂a| 国产精品亚洲美女av网站| 国产精品久久久久久久9999| 热99精品只有里视频精品| 国产99久久精品一区二区永久免费| 国产在线视频91| 亚洲精品小视频| 欧美精品在线看| 亚洲精品乱码久久久久久金桔影视| 97久久久免费福利网址| 欧美大肥婆大肥bbbbb| 57pao精品| 欧美床上激情在线观看| 欧美午夜激情在线| 97成人超碰免| 欧美日韩国产精品一区二区三区四区| 成人精品一区二区三区电影免费| 不卡av电影在线观看| 久久久999精品视频| 国产mv久久久| 欧美老女人性视频| 91亚洲精品在线| 中文字幕亚洲国产| 97在线看免费观看视频在线观看| 国产成人免费av电影| 欧美日本黄视频| 欧美大学生性色视频| 91成人免费观看网站| 91亚洲精品久久久久久久久久久久| 欧美一区二区三区四区在线| 一区二区三区回区在观看免费视频| 亚洲激情小视频| 亚洲国产精品99久久| 久青草国产97香蕉在线视频| 亚洲剧情一区二区| 精品福利在线看| 懂色aⅴ精品一区二区三区蜜月| 最新国产成人av网站网址麻豆| 久久久国产精品免费| 91久久精品视频| 秋霞午夜一区二区| 欧美xxxwww| 色综合色综合久久综合频道88| 亚洲精品久久久久| 国产日韩欧美电影在线观看| 国产精品久久久| 97视频在线观看播放| 国产免费亚洲高清| 97精品免费视频| 成人在线小视频| 国产色视频一区| 尤物九九久久国产精品的特点| 久久免费高清视频| 亚洲色图综合网| 国产激情视频一区| 久久久久久久久久久人体| 亚洲一区二区黄| 萌白酱国产一区二区| 欧美男插女视频| 久久久精品一区| 色青青草原桃花久久综合| 亚洲精品视频中文字幕| 亚洲精品视频免费在线观看| 国产主播喷水一区二区| 日韩免费看的电影电视剧大全| 亚洲毛片在线观看.|