回転行列がわかっている場合の角度差を計算するための式の正確さを確認します

プロジェクトシーン:

式の正しさを確認する
2つの画像の回転行列(3 * 3)がわかっていて、それらの間の角度差が得られると、式が得られます。式ここに画像の説明を挿入します
の正しさを確認するために、2つの回転行列さまざまな角度で作成され、[計算]で代入され、数式が正しい答えを取得できるかどうかを確認します。

問題の説明:

ヒント:先生の助けを借りて、scipyの公式ドキュメントをチェックして、このライブラリでのRotationの使用法を理解しました。

from scipy.spatial.transform import Rotation
import math
import numpy as np

r1 = Rotation.from_euler('z',[30],degrees=True).as_matrix().squeeze(0)
r2 = Rotation.from_euler('z',[10],degrees=True).as_matrix().squeeze(0)
test = abs(round((np.trace(np.dot(r1.T, r2)) - 1) / 2, 4))
print(test)
print(math.cos(math.pi/9))

#test 2
r11 = Rotation.from_euler('z',[180],degrees=True).as_matrix().squeeze(0)
r22 = Rotation.from_euler('z',[120],degrees=True).as_matrix().squeeze(0)
test2 = abs(round((np.trace(np.dot(r11.T, r22)) - 1) / 2, 4))
print(test2)
print(math.cos(math.pi/3))

ここに画像の説明を挿入します


結論として:

この式を使用して、角度差を計算できます。

おすすめ

転載: blog.csdn.net/weixin_47651805/article/details/114709653